diff options
author | gjoranv <gv@verizonmedia.com> | 2019-06-17 12:30:41 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2019-06-17 12:30:41 +0200 |
commit | 6f7aa788c9d72aa85d13ad2fa9f881b30001593e (patch) | |
tree | 3c4fa924f2eb78d24d21d6bee184b6ad212c4203 | |
parent | 1a616f0c6d02032e0a51239a6ff9ad57206da821 (diff) |
Select RPC port for metricsproxy based on Vespa version.
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); |