summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-07-18 12:25:54 +0200
committerHarald Musum <musum@oath.com>2018-07-18 12:25:54 +0200
commita727505d9f39ed86b5ab6c02a9c00f8cba195c65 (patch)
treec3f801563ae2ac2694410216f3c4615201beeadb /node-repository
parent1b56175f7105ed4b5367e02f72206288182a2725 (diff)
Exclude fake apps
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java
index 5db95e13b34..bdacf5362f1 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java
@@ -9,9 +9,14 @@ import com.yahoo.log.LogLevel;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.service.monitor.application.ConfigServerApplication;
+import com.yahoo.vespa.service.monitor.application.ConfigServerHostApplication;
+import com.yahoo.vespa.service.monitor.application.HostedVespaApplication;
+import com.yahoo.vespa.service.monitor.application.ProxyHostApplication;
+import com.yahoo.vespa.service.monitor.application.TenantHostApplication;
import java.time.Duration;
import java.time.Instant;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
@@ -44,9 +49,16 @@ public class PeriodicApplicationMaintainer extends ApplicationMaintainer {
// Returns the app that was deployed the longest time ago
@Override
protected Set<ApplicationId> applicationsNeedingMaintenance() {
+ // Need to exclude these fake apps
+ List<ApplicationId> fakeApps = Arrays.asList(
+ ConfigServerApplication.CONFIG_SERVER_APPLICATION.getApplicationId(),
+ ConfigServerHostApplication.CONFIG_SERVER_HOST_APPLICATION.getApplicationId(),
+ ProxyHostApplication.PROXY_HOST_APPLICATION.getApplicationId(),
+ TenantHostApplication.TENANT_HOST_APPLICATION.getApplicationId());
+
Optional<ApplicationId> app = (nodesNeedingMaintenance().stream()
.map(node -> node.allocation().get().owner())
- .filter(applicationId -> !ConfigServerApplication.CONFIG_SERVER_APPLICATION.getApplicationId().equals(applicationId))
+ .filter(applicationId -> !fakeApps.contains(applicationId))
.min(Comparator.comparing(this::getLastDeployTime)));
app.ifPresent(applicationId -> log.log(LogLevel.INFO, applicationId + " will be deployed, last deploy time " +
getLastDeployTime(applicationId)));