diff options
author | Håkon Hallingstad <hakon@oath.com> | 2018-12-07 01:59:58 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2018-12-07 01:59:58 +0100 |
commit | 14ed5595c31fc1f803c5ae3bdcd50b0f743ee5d2 (patch) | |
tree | cedb157d5241dba54036e33e4bbd7156b4a40c7e /service-monitor/src/main | |
parent | 1c5812260aa8a49e7d25d26ade15008d81b49374 (diff) |
Remove infra app from duper model only if it is supposed to be in duper model
Diffstat (limited to 'service-monitor/src/main')
-rw-r--r-- | service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java | 7 | ||||
-rw-r--r-- | service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java index c90b37a4c2a..024282d3d21 100644 --- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java +++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java @@ -3,12 +3,14 @@ package com.yahoo.vespa.service.duper; import com.yahoo.config.model.api.ApplicationInfo; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.log.LogLevel; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.TreeMap; +import java.util.logging.Logger; /** * A non-thread-safe mutable container of ApplicationInfo in the DuperModel, also taking care of listeners on changes. @@ -16,6 +18,8 @@ import java.util.TreeMap; * @author hakonhall */ public class DuperModel { + private static Logger logger = Logger.getLogger(DuperModel.class.getName()); + private final Map<ApplicationId, ApplicationInfo> applications = new TreeMap<>(); private final List<DuperModelListener> listeners = new ArrayList<>(); @@ -30,16 +34,19 @@ public class DuperModel { public void add(ApplicationInfo applicationInfo) { applications.put(applicationInfo.getApplicationId(), applicationInfo); + logger.log(LogLevel.DEBUG, "Added " + applicationInfo.getApplicationId()); listeners.forEach(listener -> listener.applicationActivated(applicationInfo)); } public void remove(ApplicationId applicationId) { if (applications.remove(applicationId) != null) { + logger.log(LogLevel.DEBUG, "Removed " + applicationId); listeners.forEach(listener -> listener.applicationRemoved(applicationId)); } } public List<ApplicationInfo> getApplicationInfos() { + logger.log(LogLevel.DEBUG, "Applications in duper model: " + applications.values().size()); return Collections.unmodifiableList(new ArrayList<>(applications.values())); } } diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java index 1f8fa35d1cf..ed99d2e3166 100644 --- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java +++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java @@ -174,7 +174,7 @@ public class DuperModelManager implements DuperModelInfraApi { public void infraApplicationRemoved(ApplicationId applicationId) { synchronized (monitor) { activeInfraInfos.remove(applicationId); - if (duperModel.contains(applicationId)) { + if (infraApplicationBelongsInDuperModel(applicationId)) { duperModel.remove(applicationId); } } @@ -204,7 +204,7 @@ public class DuperModelManager implements DuperModelInfraApi { if (isConfigServerFromConfigInDuperModel()) return false; if (!multitenant) return false; if (duperModel.contains(configServerApplication.getApplicationId())) { - logger.log(LogLevel.WARNING, "Refusing to add controller application to duper model " + + logger.log(LogLevel.ERROR, "Refusing to add controller application to duper model " + "since it already contains config server"); return false; } @@ -213,7 +213,7 @@ public class DuperModelManager implements DuperModelInfraApi { if (isConfigServerFromConfigInDuperModel()) return false; if (!multitenant) return false; if (duperModel.contains(controllerApplication.getApplicationId())) { - logger.log(LogLevel.WARNING, "Refusing to add config server application to duper model " + + logger.log(LogLevel.ERROR, "Refusing to add config server application to duper model " + "since it already contains controller"); return false; } |