diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-08-14 12:55:59 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-08-14 12:55:59 +0200 |
commit | 0aa2233bac132a56f7aead3c11a5170cf7147f07 (patch) | |
tree | 60a557fa331b233e8123f321a9d22effc31d3c1a /configserver | |
parent | eb7242e20b41625bf5416897ab28ffcf06a68487 (diff) |
Run maintainers that cleans up zookeeper and disk usage before bootstrapping
Diffstat (limited to 'configserver')
2 files changed, 17 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 2d296b0a691..0aab83d5a6a 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 @@ -11,6 +11,8 @@ import com.yahoo.config.provision.TransientException; import com.yahoo.container.handler.VipStatus; import com.yahoo.container.jdisc.state.StateMonitor; import java.util.logging.Level; + +import com.yahoo.vespa.config.server.maintenance.ConfigServerMaintenance; import com.yahoo.vespa.config.server.rpc.RpcServer; import com.yahoo.vespa.config.server.version.VersionState; import com.yahoo.yolean.Exceptions; @@ -70,23 +72,25 @@ public class ConfigServerBootstrap extends AbstractComponent implements Runnable @SuppressWarnings("unused") @Inject public ConfigServerBootstrap(ApplicationRepository applicationRepository, RpcServer server, - VersionState versionState, StateMonitor stateMonitor, VipStatus vipStatus) { + VersionState versionState, StateMonitor stateMonitor, VipStatus vipStatus, + ConfigServerMaintenance configServerMaintenance) { this(applicationRepository, server, versionState, stateMonitor, vipStatus, BOOTSTRAP_IN_CONSTRUCTOR, EXIT_JVM, applicationRepository.configserverConfig().hostedVespa() ? VipStatusMode.VIP_STATUS_FILE - : VipStatusMode.VIP_STATUS_PROGRAMMATICALLY); + : VipStatusMode.VIP_STATUS_PROGRAMMATICALLY, + Optional.of(configServerMaintenance)); } // For testing only ConfigServerBootstrap(ApplicationRepository applicationRepository, RpcServer server, VersionState versionState, StateMonitor stateMonitor, VipStatus vipStatus, Mode mode, VipStatusMode vipStatusMode) { - this(applicationRepository, server, versionState, stateMonitor, vipStatus, mode, CONTINUE, vipStatusMode); + this(applicationRepository, server, versionState, stateMonitor, vipStatus, mode, CONTINUE, vipStatusMode, Optional.empty()); } private ConfigServerBootstrap(ApplicationRepository applicationRepository, RpcServer server, VersionState versionState, StateMonitor stateMonitor, VipStatus vipStatus, Mode mode, RedeployingApplicationsFails exitIfRedeployingApplicationsFails, - VipStatusMode vipStatusMode) { + VipStatusMode vipStatusMode, Optional<ConfigServerMaintenance> configServerMaintenance) { this.applicationRepository = applicationRepository; this.server = server; this.versionState = versionState; @@ -99,6 +103,10 @@ public class ConfigServerBootstrap extends AbstractComponent implements Runnable rpcServerExecutor = Executors.newSingleThreadExecutor(new DaemonThreadFactory("config server RPC server")); log.log(Level.FINE, "Bootstrap mode: " + mode + ", VIP status mode: " + vipStatusMode); initializing(vipStatusMode); + + // Run maintainers that cleans up zookeeper and disk usage before bootstrapping + configServerMaintenance.ifPresent(ConfigServerMaintenance::runBeforeBootstrap); + switch (mode) { case BOOTSTRAP_IN_SEPARATE_THREAD: this.serverThread = Optional.of(new Thread(this, "config server bootstrap thread")); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintenance.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintenance.java index ecdca39dc72..fe72fda6f25 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintenance.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintenance.java @@ -59,4 +59,9 @@ public class ConfigServerMaintenance extends AbstractComponent { } } + public void runBeforeBootstrap() { + fileDistributionMaintainer.maintain(); + sessionsMaintainer.maintain(); + } + } |