diff options
6 files changed, 12 insertions, 21 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintainer.java index 7b4664e040c..06d8d41791d 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ConfigServerMaintainer.java @@ -24,6 +24,10 @@ public abstract class ConfigServerMaintainer extends Maintainer { protected final ApplicationRepository applicationRepository; + ConfigServerMaintainer(ApplicationRepository applicationRepository, Curator curator, Duration interval) { + this(applicationRepository, curator, interval, interval); + } + ConfigServerMaintainer(ApplicationRepository applicationRepository, Curator curator, Duration initialDelay, Duration interval) { super(null, interval, initialDelay, new JobControl(new JobControlDb(curator))); this.applicationRepository = applicationRepository; 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 502cf280e60..797c18681ec 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 @@ -7,7 +7,6 @@ import com.yahoo.config.provision.SystemName; import com.yahoo.vespa.config.server.ApplicationRepository; import com.yahoo.vespa.config.server.session.FileDistributionFactory; import com.yahoo.vespa.curator.Curator; -import com.yahoo.vespa.flags.FlagSource; import java.time.Duration; @@ -28,13 +27,12 @@ public class ConfigServerMaintenance extends AbstractComponent { public ConfigServerMaintenance(ConfigserverConfig configserverConfig, ApplicationRepository applicationRepository, Curator curator, - FileDistributionFactory fileDistributionFactory, - FlagSource flagSource) { + FileDistributionFactory fileDistributionFactory) { DefaultTimes defaults = new DefaultTimes(configserverConfig); // TODO: Disabled until we have application metadata //tenantsMaintainer = new TenantsMaintainer(applicationRepository, curator, defaults.tenantsMaintainerInterval); fileDistributionMaintainer = new FileDistributionMaintainer(applicationRepository, curator, defaults.defaultInterval, configserverConfig); - sessionsMaintainer = new SessionsMaintainer(applicationRepository, curator, defaults.defaultInterval, flagSource); + sessionsMaintainer = new SessionsMaintainer(applicationRepository, curator, defaults.defaultInterval); } @Override diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/FileDistributionMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/FileDistributionMaintainer.java index 604212b0ae8..b4ae81376ad 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/FileDistributionMaintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/FileDistributionMaintainer.java @@ -26,7 +26,7 @@ public class FileDistributionMaintainer extends ConfigServerMaintainer { Curator curator, Duration interval, ConfigserverConfig configserverConfig) { - super(applicationRepository, curator, interval, interval); + super(applicationRepository, curator, interval); this.applicationRepository = applicationRepository; this.configserverConfig = configserverConfig; this.fileReferencesDir = new File(Defaults.getDefaults().underVespaHome(configserverConfig.fileReferencesDir())); 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 c5c3e348602..214b0f5e732 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 @@ -1,12 +1,8 @@ // Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.maintenance; -import com.yahoo.log.LogLevel; import com.yahoo.vespa.config.server.ApplicationRepository; import com.yahoo.vespa.curator.Curator; -import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; -import com.yahoo.vespa.flags.LongFlag; import java.time.Duration; @@ -19,14 +15,12 @@ import java.time.Duration; */ public class SessionsMaintainer extends ConfigServerMaintainer { private final boolean hostedVespa; - private final LongFlag expiryTimeFlag; - SessionsMaintainer(ApplicationRepository applicationRepository, Curator curator, Duration interval, FlagSource flagSource) { + SessionsMaintainer(ApplicationRepository applicationRepository, Curator curator, Duration 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(); - this.expiryTimeFlag = Flags.CONFIGSERVER_SESSIONS_EXPIRY_INTERVAL_IN_DAYS.bindTo(flagSource); } @Override @@ -36,9 +30,9 @@ public class SessionsMaintainer extends ConfigServerMaintainer { // Expired remote sessions are sessions that belong to an application that have external deployments that // are no longer active if (hostedVespa) { - Duration expiryTime = Duration.ofMinutes(expiryTimeFlag.value()); - int deleted = applicationRepository.deleteExpiredRemoteSessions(expiryTime); - log.log(LogLevel.INFO, "Deleted " + deleted + " expired remote sessions, expiry time " + expiryTime); + // TODO: Reduce to 7 days in steps, otherwise startup of config servers takes a long time + Duration expiryTime = Duration.ofDays(28); + applicationRepository.deleteExpiredRemoteSessions(expiryTime); } } } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainer.java index b3c67859098..f0753638101 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainer.java @@ -21,7 +21,7 @@ public class TenantsMaintainer extends ConfigServerMaintainer { } private TenantsMaintainer(ApplicationRepository applicationRepository, Curator curator, Duration interval, Duration ttlForUnusedTenant) { - super(applicationRepository, curator, interval, interval); + super(applicationRepository, curator, interval); this.ttlForUnusedTenant = ttlForUnusedTenant; } diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java index 1b25b19da79..155d2644095 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -265,11 +265,6 @@ public class Flags { "Takes effect on next application redeploy", APPLICATION_ID); - public static final UnboundLongFlag CONFIGSERVER_SESSIONS_EXPIRY_INTERVAL_IN_DAYS = defineLongFlag( - "configserver-sessions-expiry-interval-in-days", 28, - "Expiry time for unused sessions in config server", - "Takes effect on next run of config server maintainer SessionsMaintainer"); - /** WARNING: public for testing: All flags should be defined in {@link Flags}. */ public static UnboundBooleanFlag defineFeatureFlag(String flagId, boolean defaultValue, String description, String modificationEffect, FetchVector.Dimension... dimensions) { |