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]
