csudharsanan commented on code in PR #3043:
URL: https://github.com/apache/helix/pull/3043#discussion_r2167603139
##########
helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java:
##########
@@ -250,17 +262,40 @@ private void generateMessage(final Resource resource,
final BaseControllerDataPr
pendingMessage, manager, resource, partition,
sessionIdMap, instanceName,
stateModelDef, cancellationMessage, isCancellationEnabled);
} else {
+ // Set currentActiveReplicaNumber to provide metadata for
potential message prioritization by
+ // participant.
+ // Assign the current active replica count to all qualifying
upward transitions for this
+ // partition.
+ // This ensures consistent prioritization metadata across
concurrent state transitions.
+ int currentActiveReplicaNumber = -1; // -1 indicates no
prioritization metadata, for eg:
+ // Downward ST messages get a -1.
+
+ /*
+ Assign currentActiveReplicaNumber for qualifying upward state
transitions.
+ Criteria for assignment:
+ - Must be an upward state transition according to state model
+ - Current state must not be considered active (according to
state model type)
+ - Target state must be considered active (according to state
model type)
+ */
+ if (stateModelDef.isUpwardStateTransition(currentState, nextState)
+ && !isStateActive(currentState, stateModelDef)
Review Comment:
spoke offline, we already differentiate between upward and downward STs.
This if condition introduces another layer of differentiation between load
balance and recovery rebalance STs for clients.
removing it to keep it simple.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]