summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2021-09-13 15:08:15 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2021-09-13 15:08:15 +0200
commita55f846636764f181c1fcc84f4b9d8e78cee5563 (patch)
treec2e332a948a8b04b785bc37098a158706b389f60 /node-admin
parent0dc087bae60085918bd4a01c9fdd68d1ca540f20 (diff)
Handle null
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java6
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java19
2 files changed, 13 insertions, 12 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
index 0ea9be96fd7..abc779d8a9a 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
@@ -151,6 +151,10 @@ public class RealNodeRepository implements NodeRepository {
Optional<NodeMembership> membership = Optional.ofNullable(node.membership)
.map(m -> new NodeMembership(m.clusterType, m.clusterId, m.group, m.index, m.retired));
NodeReports reports = NodeReports.fromMap(Optional.ofNullable(node.reports).orElseGet(Map::of));
+ List<Event> events = node.history.stream()
+ .map(event -> new Event(event.agent, event.event, Optional.ofNullable(event.at).map(Instant::ofEpochMilli).orElse(Instant.EPOCH)))
+ .collect(Collectors.toUnmodifiableList());
+
return new NodeSpec(
node.hostname,
Optional.ofNullable(node.openStackId),
@@ -178,7 +182,7 @@ public class RealNodeRepository implements NodeRepository {
node.ipAddresses,
node.additionalIpAddresses,
reports,
- node.history.stream().map(event -> new Event(event.agent, event.event, Instant.ofEpochMilli(event.at))).collect(Collectors.toUnmodifiableList()),
+ events,
Optional.ofNullable(node.parentHostname),
Optional.ofNullable(node.archiveUri).map(URI::create),
Optional.ofNullable(node.exclusiveTo).map(ApplicationId::fromSerializedForm));
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java
index 40d83e6e3fc..4282c67b4cd 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java
@@ -202,18 +202,15 @@ public class NodeRepositoryNode {
}
}
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ @JsonInclude(JsonInclude.Include.NON_NULL)
public static class Event {
- public final String agent;
- public final String event;
- public final long at;
-
- public Event(@JsonProperty(value = "agent", required = true) String agent,
- @JsonProperty(value = "event", required = true) String event,
- @JsonProperty(value = "at", required = true) Long at) {
- this.agent = agent;
- this.event = event;
- this.at = at;
- }
+ @JsonProperty
+ public String event;
+ @JsonProperty
+ public String agent;
+ @JsonProperty
+ public Long at;
@Override
public String toString() {