aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-12-18 12:18:38 +0100
committerHarald Musum <musum@oath.com>2018-12-18 12:18:38 +0100
commitf16506727829d4f2d760f74092718c10cc4593ea (patch)
treebba9328f213e999eb2b5204d0d1785641acdf263 /configserver/src/main
parent305d22637387d183be17a0582b1ced76f2b44982 (diff)
Use feature flag to control how to do bootstrapping
Diffstat (limited to 'configserver/src/main')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java
index f163a100fd8..0f52557ed65 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerBootstrap.java
@@ -12,6 +12,8 @@ import com.yahoo.container.jdisc.state.StateMonitor;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.config.server.rpc.RpcServer;
import com.yahoo.vespa.config.server.version.VersionState;
+import com.yahoo.vespa.flags.FeatureFlag;
+import com.yahoo.vespa.flags.FlagSource;
import java.time.Duration;
import java.time.Instant;
@@ -40,6 +42,7 @@ import java.util.concurrent.TimeUnit;
public class ConfigServerBootstrap extends AbstractComponent implements Runnable {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(ConfigServerBootstrap.class.getName());
+ static final String bootstrapFeatureFlag = "config-server-bootstrap-in-separate-thread";
enum Mode {BOOTSTRAP_IN_CONSTRUCTOR, BOOTSTRAP_IN_SEPARATE_THREAD, INITIALIZE_ONLY} // INITIALIZE_ONLY is for testing only
enum RedeployingApplicationsFails {EXIT_JVM, CONTINUE}
@@ -56,14 +59,13 @@ public class ConfigServerBootstrap extends AbstractComponent implements Runnable
private final RedeployingApplicationsFails exitIfRedeployingApplicationsFails;
private final ExecutorService rpcServerExecutor;
- // The tenants object is injected so that all initial requests handlers are
- // added to the rpc server before it starts answering rpc requests.
@SuppressWarnings("WeakerAccess")
@Inject
public ConfigServerBootstrap(ApplicationRepository applicationRepository, RpcServer server,
- VersionState versionState, StateMonitor stateMonitor, VipStatus vipStatus) {
+ VersionState versionState, StateMonitor stateMonitor, VipStatus vipStatus,
+ FlagSource flagSource) {
this(applicationRepository, server, versionState, stateMonitor, vipStatus,
- applicationRepository.configserverConfig().bootstrapInSeparateThread () ? Mode.BOOTSTRAP_IN_SEPARATE_THREAD : Mode.BOOTSTRAP_IN_CONSTRUCTOR,
+ new FeatureFlag(bootstrapFeatureFlag, true, flagSource).value() ? Mode.BOOTSTRAP_IN_SEPARATE_THREAD : Mode.BOOTSTRAP_IN_CONSTRUCTOR,
RedeployingApplicationsFails.EXIT_JVM);
}