xiangfu0 commented on code in PR #20097:
URL: https://github.com/apache/pinot/pull/20097#discussion_r4416804808
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancer.java:
##########
@@ -791,6 +800,11 @@ private RebalanceResult doRebalance(TableConfig
tableConfig, RebalanceConfig reb
Preconditions.checkState(_helixDataAccessor.getBaseDataAccessor()
.set(idealStatePropertyKey.getPath(), idealStateRecord,
expectedVersion, AccessOption.PERSISTENT),
"Failed to update IdealState");
+ if (forceCommit) {
+ for (String segment : getMovingConsumingSegments(currentAssignment,
nextAssignment)) {
+ forceCommittedPartitions.remove(new
LLCSegmentName(segment).getPartitionGroupId());
Review Comment:
Non-blocking: this marker is only cleared when the partition's consuming
segment moves. When the successor is created directly on the target instances
(non-strict-RG, or `stepPartitionAssignment=false`), it never moves, so the
marker stays for the rest of the rebalance. That's harmless unless the target
changes mid-rebalance (e.g. a full recompute after an instance config change).
In that case the partition's consuming segment would move as CONSUMING without
a force commit. If that's intended, maybe mention it in the comment above the
field.
--
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]