diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-06-30 10:31:04 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-06-30 10:31:04 +0200 |
commit | 27a03cfc06ad43018b33d535dc4edf5baf3a599e (patch) | |
tree | aff85a959c5bec1c11e55c0df119331cfc9eb972 /configserver/src | |
parent | bb7d188e04ff44318906dfa9ede5b532409ebf9f (diff) |
Handle app being deleted while maintainer runs
Diffstat (limited to 'configserver/src')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java | 4 |
1 files changed, 2 insertions, 2 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 56496b06c14..b0ca6ba67f5 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 @@ -52,13 +52,14 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { @Override protected void maintain() { - log.fine(() -> "Running"); if (! distributeApplicationPackage.value()) return; try (var fileDownloader = new FileDownloader(createConnectionPool(configserverConfig), downloadDirectory)) { for (var applicationId : applicationRepository.listApplications()) { log.fine(() -> "Verifying application package for " + applicationId); RemoteSession session = applicationRepository.getActiveSession(applicationId); + if (session == null) continue; // App might be deleted after call to listApplications() + FileReference applicationPackage = session.getApplicationPackageReference(); long sessionId = session.getSessionId(); log.fine(() -> "Verifying application package file reference " + applicationPackage + " for session " + sessionId); @@ -85,7 +86,6 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { sessionRepository.createLocalSessionUsingDistributedApplicationPackage(sessionId); } - private boolean missingOnDisk(FileReference applicationPackageReference) { Set<String> fileReferencesOnDisk = getFileReferencesOnDisk(downloadDirectory); return ! fileReferencesOnDisk.contains(applicationPackageReference.value()); |