summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-08-02 21:30:20 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-08-02 21:30:20 +0000
commit89a0c525b7398d5aaacdbb60e37535ab80d4c57d (patch)
treea8cf4667d3a9e7328ef3751e6d057fed095baf33 /configserver
parentebd308f6fdc067355c80c1bc5b7f1ac9ebce6e95 (diff)
Cleanup connection pool.
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java14
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();