aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-05-26 14:14:18 +0200
committerHarald Musum <musum@yahooinc.com>2023-05-26 14:14:18 +0200
commita05cc263f0b12685acad4a987117bb5287671d81 (patch)
tree1f543ba97b8309165854211b791f774562dda3bc /clustercontroller-core
parente966dc9808bb475b3f41035cb639a63867850f7b (diff)
Created modified bundle only once
Diffstat (limited to 'clustercontroller-core')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/SystemStateBroadcaster.java11
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);