diff options
author | Harald Musum <musum@yahooinc.com> | 2023-05-26 14:14:18 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-05-26 14:14:18 +0200 |
commit | a05cc263f0b12685acad4a987117bb5287671d81 (patch) | |
tree | 1f543ba97b8309165854211b791f774562dda3bc | |
parent | e966dc9808bb475b3f41035cb639a63867850f7b (diff) |
Created modified bundle only once
-rw-r--r-- | clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/SystemStateBroadcaster.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/SystemStateBroadcaster.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/SystemStateBroadcaster.java index 72bd5148f11..cc121a8b120 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/SystemStateBroadcaster.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/SystemStateBroadcaster.java @@ -288,27 +288,26 @@ public class SystemStateBroadcaster { return false; } - ClusterState baselineState = clusterStateBundle.getBaselineClusterState(); + int baselineStateVersion = clusterStateBundle.getBaselineClusterState().getVersion(); if (!currentBundleVersionIsTaggedOfficial()) { - context.log(log, Level.INFO, "Publishing cluster state version " + baselineState.getVersion()); + context.log(log, Level.INFO, "Publishing cluster state version " + baselineStateVersion); tagCurrentBundleVersionAsOfficial(); } List<NodeInfo> recipients = resolveStateVersionSendSet(dbContext); + ClusterStateBundle modifiedBundle = clusterStateBundle.cloneWithMapper(state -> buildModifiedClusterState(state, dbContext)); for (NodeInfo node : recipients) { if (nodeNeedsToObserveStartupTimestamps(node)) { - // TODO this is the same for all nodes, compute only once - ClusterStateBundle modifiedBundle = clusterStateBundle.cloneWithMapper(state -> buildModifiedClusterState(state, dbContext)); context.log(log, Level.FINE, - () -> "Sending modified cluster state version " + baselineState.getVersion() + + () -> "Sending modified cluster state version " + baselineStateVersion + " to node " + node + ": " + modifiedBundle); communicator.setSystemState(modifiedBundle, node, setClusterStateWaiter); } else { context.log(log, Level.FINE, - () -> "Sending system state version " + baselineState.getVersion() + + () -> "Sending system state version " + baselineStateVersion + " to node " + node + ". (went down time " + node.getWentDownWithStartTime() + ", node start time " + node.getStartTimestamp() + ")"); communicator.setSystemState(clusterStateBundle, node, setClusterStateWaiter); |