From 1c7328f5d6d08388d5a602864af9a1da280b2e40 Mon Sep 17 00:00:00 2001 From: HÃ¥kon Hallingstad Date: Wed, 16 Jun 2021 11:05:43 +0200 Subject: Properly apply changes to node reports to a NodeSpec --- .../node/admin/configserver/noderepository/NodeReports.java | 9 +++++++++ .../hosted/node/admin/configserver/noderepository/NodeSpec.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'node-admin') diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java index ad9ce84f590..2b3024f6cee 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java @@ -77,6 +77,15 @@ public class NodeReports { return new TreeMap<>(reports); } + /** Set or overwrite the reports of {@code this} that are found in {@code override}. */ + public void updateFromRawMap(Map override) { + override.forEach((reportId, jsonNode) -> { + if (jsonNode != null) { + reports.put(reportId, jsonNode); + } + }); + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java index 7408041462c..fa1f8528b31 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java @@ -604,7 +604,7 @@ public class NodeSpec { attributes.getCurrentOsVersion().ifPresent(this::currentOsVersion); attributes.getRebootGeneration().ifPresent(this::currentRebootGeneration); attributes.getRestartGeneration().ifPresent(this::currentRestartGeneration); - NodeReports.fromMap(attributes.getReports()); + this.reports.updateFromRawMap(attributes.getReports()); return this; } -- cgit v1.2.3