summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2020-12-10 10:22:21 +0100
committerGitHub <noreply@github.com>2020-12-10 10:22:21 +0100
commitc0721c2b266317265a2e58b84a1c44d8db26b353 (patch)
treea0f78ad809b7adbd6c8d1129018015a1fcb684e1 /configserver
parentc65a96b1161812c4ba9e78c7c831e21975f1ad5d (diff)
parent06803b97348d9a4fb56df083cae73e2afbc44438 (diff)
Merge pull request #15765 from vespa-engine/jonmv/reindexing-triggerer
Add ReindexingTriggerer to controller maintenance
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintenance.java27
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);
}
/*