diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-01-30 14:09:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-30 14:09:56 +0100 |
commit | 18af87def6ca9385dd5d04d70b3c2bbb60b938af (patch) | |
tree | 8f2ccfce19c3b72cf3b2d65d7cc5d9f4dd800152 /configserver | |
parent | c0bc995ddfc20c335754b097f30822dbadf82940 (diff) | |
parent | 465382d2221b5547953be218c32c5f3d404ba885 (diff) |
Merge pull request #8292 from vespa-engine/musum/start-sessions-maintainer-as-early-as-possible
Start sessions maintainer as early as possible
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java | 7 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java index 513f70e4187..d2fd4efa7dc 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java @@ -33,13 +33,18 @@ public abstract class Maintainer extends AbstractComponent implements Runnable { protected final Curator curator; Maintainer(ApplicationRepository applicationRepository, Curator curator, Duration interval) { + this(applicationRepository, curator, interval, interval); + } + + Maintainer(ApplicationRepository applicationRepository, Curator curator, Duration initialDelay, Duration interval) { this.applicationRepository = applicationRepository; this.curator = curator; this.maintenanceInterval = interval; service = new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory(name())); - service.scheduleAtFixedRate(this, interval.toMillis(), interval.toMillis(), TimeUnit.MILLISECONDS); + service.scheduleAtFixedRate(this, initialDelay.toMillis(), interval.toMillis(), TimeUnit.MILLISECONDS); } + @Override @SuppressWarnings({"try", "unused"}) public void run() { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java index bf9b438f9c6..7da868303e2 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java @@ -17,7 +17,9 @@ public class SessionsMaintainer extends Maintainer { private final boolean hostedVespa; SessionsMaintainer(ApplicationRepository applicationRepository, Curator curator, Duration interval) { - super(applicationRepository, curator, interval); + // Start this maintainer immediately. It frees disk space, so if disk goes full and config server + // restarts this makes sure that cleanup will happen as early as possible + super(applicationRepository, curator, Duration.ZERO, interval); this.hostedVespa = applicationRepository.configserverConfig().hostedVespa(); } |