diff options
author | jonmv <venstad@gmail.com> | 2024-01-20 14:04:07 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2024-01-20 14:04:07 +0100 |
commit | 0010eaf38159023a4b3d16a2f2f4ffc3e9ffb109 (patch) | |
tree | fb6420c23dcf9782ebf7d1c6606cefa5d7c38b2d /configserver | |
parent | d5c66a3900e0c6555e18dc2ac4f2d8501bb7595d (diff) |
Distribute app packages after prepare, rather than activate
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java | 18 |
1 files changed, 12 insertions, 6 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 dcc5d7caa0d..f18aa9acc6c 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.config.FileReference; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.TenantName; import com.yahoo.config.subscription.ConfigSourceSet; import com.yahoo.jrt.Supervisor; import com.yahoo.jrt.Transport; @@ -53,17 +54,22 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { int attempts = 0; int failures = 0; - for (var applicationId : applicationRepository.listApplications()) { + for (TenantName tenantName : applicationRepository.tenantRepository().getAllTenantNames()) + for (Session session : applicationRepository.tenantRepository().getTenant(tenantName).getSessionRepository().getRemoteSessions()) { if (shuttingDown()) break; - + + switch (session.getStatus()) { + case PREPARE, ACTIVATE: break; + default: continue; + } + + var applicationId = session.getApplicationId(); log.finest(() -> "Verifying application package for " + applicationId); - Optional<Session> session = applicationRepository.getActiveSession(applicationId); - if (session.isEmpty()) continue; // App might be deleted after call to listApplications() or not activated yet (bootstrap phase) - Optional<FileReference> appFileReference = session.get().getApplicationPackageReference(); + Optional<FileReference> appFileReference = session.getApplicationPackageReference(); if (appFileReference.isPresent()) { - long sessionId = session.get().getSessionId(); + long sessionId = session.getSessionId(); attempts++; if (!fileReferenceExistsOnDisk(downloadDirectory, appFileReference.get())) { log.fine(() -> "Downloading application package with file reference " + appFileReference + |