From 57f72964d7e2ebb1a2b8168f3e07dae6ee6e8198 Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Thu, 11 Nov 2021 13:32:15 +0100 Subject: Allow updating reboot generation by patching same reboot generation --- .../src/main/java/com/yahoo/vespa/hosted/provision/Node.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java index 812befda432..e7a20ff54b3 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java @@ -432,10 +432,12 @@ public final class Node implements Nodelike { /** Returns a copy of this node with the current reboot generation set to the given number at the given instant */ public Node withCurrentRebootGeneration(long generation, Instant instant) { + if (generation < status.reboot().current()) + throw new IllegalArgumentException("Cannot set reboot generation to " + generation + + ": lower than current generation: " + status.reboot().current()); + Status newStatus = status().withReboot(status().reboot().withCurrent(generation)); - History newHistory = history(); - if (generation > status().reboot().current()) - newHistory = history.with(new History.Event(History.Event.Type.rebooted, Agent.system, instant)); + History newHistory = history.with(new History.Event(History.Event.Type.rebooted, Agent.system, instant)); return this.with(newStatus).with(newHistory); } -- cgit v1.2.3