aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2018-05-28 09:37:19 +0200
committerGitHub <noreply@github.com>2018-05-28 09:37:19 +0200
commitf2e79f8a844a3a61e099f1e93152d7f32020f42a (patch)
tree60dda6e46c098939ba9c0924eee832deb3020b7d /configserver
parenta581cbd1ef273bb14c98aa6d8db978a55cc24d8a (diff)
parent906982344549f89b57326b52aa7d1dec793452f6 (diff)
Merge pull request #5961 from vespa-engine/hmusum/refactory-intervals-for-config-server-maintainers
Minor refactoring of how we set interval for maintainers
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintenance.java31
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;
+ }
+ }
+
}