diff options
author | gjoranv <gv@verizonmedia.com> | 2020-08-14 13:54:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-14 13:54:40 +0200 |
commit | 64a5c07ce69e62377488f9d2e5f183418e2564b8 (patch) | |
tree | 81cdcfe00298b8d374e87f36da1d903ff608c18a /configserver | |
parent | 06420abf86d1871a8e046f52350aecf9eb600058 (diff) | |
parent | 0aa2233bac132a56f7aead3c11a5170cf7147f07 (diff) |
Merge pull request #14050 from vespa-engine/hmusum/run-some-maintainers-at-start-of-bootstrap
Run maintainers that cleans up zookeeper and disk usage before bootst…
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(); + } + } |