Jackie-Jiang commented on PR #19054:
URL: https://github.com/apache/pinot/pull/19054#issuecomment-5062310823

   Reworked the gate based on the discussion above. Instead of keying off 
`instancePartitionsUnchanged` (which reflects only whether *this* rebalance 
changed the instance partitions, not whether they were already changed by a 
prior/interrupted rebalance), the recompute is now skipped only when the 
rebalance **moves only tier segments** — checked via 
`providedTierToSegmentsMap`, the authoritative set of tier segments used to 
build the target assignment.
   
   This is robust to two things raised earlier:
   - Tier and non-tier segments are not guaranteed to live on disjoint 
instances, so I check segment membership rather than comparing target instances 
against tier instances.
   - It doesn't depend on how the instance partitions reached their current 
state.
   
   When tier segments aren't pre-computed (`updateTargetTier` not run, map 
null/empty), it conservatively keeps the full recompute. 
`getMovingConsumingSegments` is left untouched, so the earlier mixed-state 
concern no longer applies.
   


-- 
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]

Reply via email to