summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-06-17 12:30:41 +0200
committergjoranv <gv@verizonmedia.com>2019-06-17 12:30:41 +0200
commit6f7aa788c9d72aa85d13ad2fa9f881b30001593e (patch)
tree3c4fa924f2eb78d24d21d6bee184b6ad212c4203
parent1a616f0c6d02032e0a51239a6ff9ad57206da821 (diff)
Select RPC port for metricsproxy based on Vespa version.
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java25
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java3
2 files changed, 7 insertions, 21 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 bec48595ea3..71d12eff10a 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
@@ -600,26 +600,15 @@ public class NodeAgentImpl implements NodeAgent {
for (DimensionMetrics dimensionMetrics : metrics) {
params.append(dimensionMetrics.toSecretAgentReport());
}
- } catch (JsonProcessingException e) {
- // TODO: wrap everything into one try-block (to avoid 'return') when old metrics proxy is discontinued
- context.log(logger, LogLevel.WARNING, "Failed to wrap metrics in secret agent report", e);
- return;
- }
- String wrappedMetrics = "s:" + params.toString();
-
- // Push metrics to the metrics proxy in each container
- runPushMetricsCommand(context, wrappedMetrics, true);
- runPushMetricsCommand(context, wrappedMetrics, false);
- }
+ String wrappedMetrics = "s:" + params.toString();
- // TODO: Clean up and inline method when old metrics proxy has been discontinued.
- private void runPushMetricsCommand(NodeAgentContext context, String wrappedMetrics, boolean newMetricsProxy) {
- int port = newMetricsProxy ? 19095 : 19091;
- String[] command = {"vespa-rpc-invoke", "-t", "2", "tcp/localhost:" + port, "setExtraMetrics", wrappedMetrics};
- try {
+ // Push metrics to the metrics proxy in each container.
+ // TODO Remove port selection logic when all hosted apps have upgraded to Vespa 7.
+ int port = context.node().getVespaVersion().map(version -> version.getMajor() == 6).orElse(false) ? 19091 : 19095;
+ String[] command = {"vespa-rpc-invoke", "-t", "2", "tcp/localhost:" + port, "setExtraMetrics", wrappedMetrics};
dockerOperations.executeCommandInContainerAsRoot(context, 5L, command);
- } catch (DockerExecTimeoutException e) {
- context.log(logger, LogLevel.DEBUG, "Failed to push metrics to container", e);
+ } catch (JsonProcessingException | DockerExecTimeoutException e) {
+ context.log(logger, LogLevel.WARNING, "Failed to push metrics to container", e);
}
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java
index c43750684f6..db66d5f9483 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImplTest.java
@@ -688,9 +688,6 @@ public class NodeAgentImplTest {
.replaceAll("\"timestamp\":\\d+", "\"timestamp\":0")
.replaceAll("([0-9]+\\.[0-9]{1,3})([0-9]*)", "$1"); // Only keep the first 3 decimals
- // TODO: Remove when old metrics proxy is discontinued.
- calledCommand[3] = calledCommand[3].replaceFirst("19091", "19095");
-
assertEquals(context, calledContainerName);
assertEquals(5L, calledTimeout);
assertArrayEquals(expectedCommand, calledCommand);