diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2020-12-10 10:22:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-10 10:22:21 +0100 |
commit | c0721c2b266317265a2e58b84a1c44d8db26b353 (patch) | |
tree | a0f78ad809b7adbd6c8d1129018015a1fcb684e1 /configserver | |
parent | c65a96b1161812c4ba9e78c7c831e21975f1ad5d (diff) | |
parent | 06803b97348d9a4fb56df083cae73e2afbc44438 (diff) |
Merge pull request #15765 from vespa-engine/jonmv/reindexing-triggerer
Add ReindexingTriggerer to controller maintenance
Diffstat (limited to 'configserver')
2 files changed, 13 insertions, 18 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java index aa709b3bf37..7ccdf161f82 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java @@ -78,9 +78,9 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { } @Override - public void close() { + public void awaitShutdown() { connectionPool.close(); - super.close(); + super.awaitShutdown(); } private void createLocalSessionIfMissing(ApplicationId applicationId, long sessionId) { 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 21462bc4fec..837f025ec2b 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 @@ -4,7 +4,7 @@ package com.yahoo.vespa.config.server.maintenance; import com.google.inject.Inject; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.component.AbstractComponent; -import com.yahoo.jdisc.Metric; +import com.yahoo.concurrent.maintenance.Maintainer; import com.yahoo.vespa.config.server.ApplicationRepository; import com.yahoo.vespa.config.server.ConfigServerBootstrap; import com.yahoo.vespa.config.server.application.ConfigConvergenceChecker; @@ -13,6 +13,8 @@ import com.yahoo.vespa.flags.FlagSource; import java.time.Clock; import java.time.Duration; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; /** * Maintenance jobs of the config server. @@ -24,11 +26,7 @@ import java.time.Duration; */ public class ConfigServerMaintenance extends AbstractComponent { - private final TenantsMaintainer tenantsMaintainer; - private final FileDistributionMaintainer fileDistributionMaintainer; - private final SessionsMaintainer sessionsMaintainer; - private final ApplicationPackageMaintainer applicationPackageMaintainer; - private final ReindexingMaintainer reindexingMaintainer; + private final List<Maintainer> maintainers = new CopyOnWriteArrayList<>(); @Inject public ConfigServerMaintenance(ConfigServerBootstrap configServerBootstrap, @@ -38,20 +36,17 @@ public class ConfigServerMaintenance extends AbstractComponent { FlagSource flagSource, ConfigConvergenceChecker convergence) { DefaultTimes defaults = new DefaultTimes(configserverConfig); - tenantsMaintainer = new TenantsMaintainer(applicationRepository, curator, flagSource, defaults.defaultInterval, Clock.systemUTC()); - fileDistributionMaintainer = new FileDistributionMaintainer(applicationRepository, curator, defaults.defaultInterval, flagSource); - sessionsMaintainer = new SessionsMaintainer(applicationRepository, curator, Duration.ofSeconds(30), flagSource); - applicationPackageMaintainer = new ApplicationPackageMaintainer(applicationRepository, curator, Duration.ofSeconds(30), flagSource); - reindexingMaintainer = new ReindexingMaintainer(applicationRepository, curator, flagSource, Duration.ofMinutes(3), convergence, Clock.systemUTC()); + maintainers.add(new TenantsMaintainer(applicationRepository, curator, flagSource, defaults.defaultInterval, Clock.systemUTC())); + maintainers.add(new FileDistributionMaintainer(applicationRepository, curator, defaults.defaultInterval, flagSource)); + maintainers.add(new SessionsMaintainer(applicationRepository, curator, Duration.ofSeconds(30), flagSource)); + maintainers.add(new ApplicationPackageMaintainer(applicationRepository, curator, Duration.ofSeconds(30), flagSource)); + maintainers.add(new ReindexingMaintainer(applicationRepository, curator, flagSource, Duration.ofMinutes(3), convergence, Clock.systemUTC())); } @Override public void deconstruct() { - fileDistributionMaintainer.close(); - sessionsMaintainer.close(); - applicationPackageMaintainer.close(); - tenantsMaintainer.close(); - reindexingMaintainer.close(); + maintainers.forEach(Maintainer::shutdown); + maintainers.forEach(Maintainer::awaitShutdown); } /* |