diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-08-02 21:30:20 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-08-02 21:30:20 +0000 |
commit | 89a0c525b7398d5aaacdbb60e37535ab80d4c57d (patch) | |
tree | a8cf4667d3a9e7328ef3751e6d057fed095baf33 /configserver | |
parent | ebd308f6fdc067355c80c1bc5b7f1ac9ebce6e95 (diff) |
Cleanup connection pool.
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java | 14 |
1 files changed, 11 insertions, 3 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 e539acba916..e9687000b3c 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 @@ -3,6 +3,7 @@ package com.yahoo.vespa.config.server.maintenance; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.config.FileReference; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.vespa.config.ConnectionPool; import com.yahoo.vespa.config.server.ApplicationRepository; import com.yahoo.vespa.config.server.session.RemoteSession; import com.yahoo.vespa.config.server.session.SessionRepository; @@ -32,7 +33,7 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { private static final Logger log = Logger.getLogger(ApplicationPackageMaintainer.class.getName()); private final ApplicationRepository applicationRepository; - private final ConfigserverConfig configserverConfig; + private final ConnectionPool connectionPool; private final File downloadDirectory; private final BooleanFlag distributeApplicationPackage; @@ -42,7 +43,8 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { FlagSource flagSource) { super(applicationRepository, curator, flagSource, interval, interval); this.applicationRepository = applicationRepository; - this.configserverConfig = applicationRepository.configserverConfig(); + ConfigserverConfig configserverConfig = applicationRepository.configserverConfig(); + connectionPool = createConnectionPool(configserverConfig); distributeApplicationPackage = Flags.CONFIGSERVER_DISTRIBUTE_APPLICATION_PACKAGE.bindTo(flagSource); downloadDirectory = new File(Defaults.getDefaults().underVespaHome(configserverConfig.fileReferencesDir())); @@ -53,7 +55,7 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { boolean success = true; if (! distributeApplicationPackage.value()) return success; - try (var fileDownloader = new FileDownloader(createConnectionPool(configserverConfig), downloadDirectory)) { + try (var fileDownloader = new FileDownloader(connectionPool, downloadDirectory)) { for (var applicationId : applicationRepository.listApplications()) { log.fine(() -> "Verifying application package for " + applicationId); RemoteSession session = applicationRepository.getActiveSession(applicationId); @@ -80,6 +82,12 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { return success; } + @Override + public void close() { + connectionPool.close(); + super.close(); + } + private void createLocalSessionIfMissing(ApplicationId applicationId, long sessionId) { Tenant tenant = applicationRepository.tenantRepository().getTenant(applicationId.tenant()); SessionRepository sessionRepository = tenant.getSessionRepository(); |