From 3fe1ddb869d64194edfd121c2b03c317292fb8c4 Mon Sep 17 00:00:00 2001 From: Peter Nied Date: Wed, 3 Jan 2024 20:11:49 -0600 Subject: [PATCH] Switch back to thread for execution of the cluster configuration to keep security manager state Signed-off-by: Peter Nied --- .../configuration/ConfigurationRepository.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opensearch/security/configuration/ConfigurationRepository.java b/src/main/java/org/opensearch/security/configuration/ConfigurationRepository.java index a4648c2142..87ad468268 100644 --- a/src/main/java/org/opensearch/security/configuration/ConfigurationRepository.java +++ b/src/main/java/org/opensearch/security/configuration/ConfigurationRepository.java @@ -314,9 +314,14 @@ private void waitForSecurityIndexToBeAtLeastYellow() { public CompletableFuture initOnNodeStart() { final boolean installDefaultConfig = settings.getAsBoolean(ConfigConstants.SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX, false); - final Supplier> startInitialization = () -> CompletableFuture.runAsync( - () -> initalizeClusterConfiguration(installDefaultConfig) - ).thenAccept(initalizeConfigTask::complete).thenApply(result -> installDefaultConfig); + + final Supplier> startInitialization = () -> { + new Thread(() -> { + initalizeClusterConfiguration(installDefaultConfig); + initalizeConfigTask.complete(null); + }).start(); + return initalizeConfigTask.thenApply(result -> installDefaultConfig); + }; try { if (installDefaultConfig) { LOGGER.info("Will attempt to create index {} and default configs if they are absent", securityIndex);