aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-06-30 10:31:04 +0200
committerHarald Musum <musum@verizonmedia.com>2020-06-30 10:31:04 +0200
commit27a03cfc06ad43018b33d535dc4edf5baf3a599e (patch)
treeaff85a959c5bec1c11e55c0df119331cfc9eb972 /configserver/src
parentbb7d188e04ff44318906dfa9ede5b532409ebf9f (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.java4
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());