diff options
author | freva <valerijf@yahoo-inc.com> | 2016-12-01 12:46:46 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2016-12-01 12:46:46 +0100 |
commit | 4308b17f4c8ac4763e9c934be90b05981383b479 (patch) | |
tree | c1306c10ac1c35068d85dc73346782bc84dab617 /node-admin | |
parent | 170bdc5b4676ccb20063bb7081934128504a6ca7 (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.java | 6 |
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(); |