summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorfreva <valerijf@yahoo-inc.com>2016-12-01 12:46:46 +0100
committerfreva <valerijf@yahoo-inc.com>2016-12-01 12:46:46 +0100
commit4308b17f4c8ac4763e9c934be90b05981383b479 (patch)
treec1306c10ac1c35068d85dc73346782bc84dab617 /node-admin
parent170bdc5b4676ccb20063bb7081934128504a6ca7 (diff)
Fix docker metrics unset race condition after vespa upgrade
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
index 090ba7e2d5c..f7eeffd7367 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
@@ -53,6 +53,7 @@ public class NodeAgentImpl implements NodeAgent {
private final PrefixLogger logger;
private DockerImage imageBeingDownloaded = null;
+ private Optional<String> vespaVersion = Optional.empty();
private final String hostname;
@@ -232,6 +233,9 @@ public class NodeAgentImpl implements NodeAgent {
private void startContainerIfNeeded(final ContainerNodeSpec nodeSpec) {
if (dockerOperations.startContainerIfNeeded(nodeSpec)) {
+ vespaVersion = dockerOperations.getVespaVersion(nodeSpec.containerName);
+ metricReceiver.unsetMetricsForContainer(hostname);
+
configureContainerMetrics(nodeSpec);
addDebugMessage("startContainerIfNeeded: containerState " + containerState + " -> " +
RUNNING_HOWEVER_RESUME_SCRIPT_NOT_RUN);
@@ -491,7 +495,7 @@ public class NodeAgentImpl implements NodeAgent {
.add("clusterid", nodeSpec.membership.get().clusterId);
}
- if (nodeSpec.vespaVersion.isPresent()) dimensionsBuilder.add("vespaVersion", nodeSpec.vespaVersion.get());
+ if (vespaVersion.isPresent()) dimensionsBuilder.add("vespaVersion", vespaVersion.get());
Dimensions dimensions = dimensionsBuilder.build();
long currentCpuContainerTotalTime = ((Number) ((Map) stats.getCpuStats().get("cpu_usage")).get("total_usage")).longValue();