diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2018-05-28 09:37:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-28 09:37:19 +0200 |
commit | f2e79f8a844a3a61e099f1e93152d7f32020f42a (patch) | |
tree | 60dda6e46c098939ba9c0924eee832deb3020b7d | |
parent | a581cbd1ef273bb14c98aa6d8db978a55cc24d8a (diff) | |
parent | 906982344549f89b57326b52aa7d1dec793452f6 (diff) |
Merge pull request #5961 from vespa-engine/hmusum/refactory-intervals-for-config-server-maintainers
Minor refactoring of how we set interval for maintainers
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintenance.java | 31 |
1 files changed, 23 insertions, 8 deletions
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 e87d88c5ed0..2c46f2968ce 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 @@ -11,8 +11,6 @@ import java.time.Duration; public class ConfigServerMaintenance extends AbstractComponent { - private static final Duration intervalInCd = Duration.ofMinutes(5); - private final TenantsMaintainer tenantsMaintainer; private final ZooKeeperDataMaintainer zooKeeperDataMaintainer; @@ -20,12 +18,9 @@ public class ConfigServerMaintenance extends AbstractComponent { public ConfigServerMaintenance(ConfigserverConfig configserverConfig, ApplicationRepository applicationRepository, Curator curator) { - boolean isCd = configserverConfig.system().equals(SystemName.cd.name()); - Duration defaultInterval = isCd ? intervalInCd : Duration.ofMinutes(configserverConfig.maintainerIntervalMinutes()); - Duration tenantsMaintainerInterval = isCd ? intervalInCd : Duration.ofMinutes(configserverConfig.tenantsMaintainerIntervalMinutes()); - - tenantsMaintainer = new TenantsMaintainer(applicationRepository, curator, tenantsMaintainerInterval); - zooKeeperDataMaintainer = new ZooKeeperDataMaintainer(applicationRepository, curator, defaultInterval); + DefaultTimes defaults = new DefaultTimes(configserverConfig); + tenantsMaintainer = new TenantsMaintainer(applicationRepository, curator, defaults.tenantsMaintainerInterval); + zooKeeperDataMaintainer = new ZooKeeperDataMaintainer(applicationRepository, curator, defaults.zookeeperDataMaintainerInterval); } @Override @@ -34,4 +29,24 @@ public class ConfigServerMaintenance extends AbstractComponent { zooKeeperDataMaintainer.deconstruct(); } + /* + * Default values from config. If one of the values needs to be changed, add the value to + * configserver-config.xml in the config server application directory and restart the config server + */ + private static class DefaultTimes { + + private final Duration defaultInterval; + private final Duration tenantsMaintainerInterval; + private final Duration zookeeperDataMaintainerInterval; + + DefaultTimes(ConfigserverConfig configserverConfig) { + boolean isCd = configserverConfig.system().equals(SystemName.cd.name()); + + this.defaultInterval = Duration.ofMinutes(configserverConfig.maintainerIntervalMinutes()); + // TODO: Want job control or feature flag to control when to run this, for now use a very long interval unless in CD + this.tenantsMaintainerInterval = isCd ? defaultInterval : Duration.ofMinutes(configserverConfig.tenantsMaintainerIntervalMinutes()); + this.zookeeperDataMaintainerInterval = defaultInterval; + } + } + } |