J-HowHuang opened a new pull request, #19055:
URL: https://github.com/apache/pinot/pull/19055

   ## Description
   In the case where rebalance needs multiple iteration due to frequent ideal 
state update from other writer (e.g. realtime ingestion), if the table has any 
tier, a TierSegmentAssignment instance will be constructed every time in which 
ZK reads are requested on all segments (and it's not bulk read but individual 
reads).
   
   We don't need to refresh segment to tier mapping every time. Instead, each 
rebalance job captures the segment to tier mapping when started, and re-use 
this to determine each segment's tier (if a segment changed its eligible tier 
mid-fly, we can rely on the next rebalance run to correct that, as we don't 
have strict contract on how quick tiers should reflect)
   
   ## Change 
   * Add `Map<String, String> _segmentToTierName` in `BaseSegmentAssignment`
   * Compute `_segmentToTierName` the first time `rebalanceTiers()` is called
   * Use `_segmentToTierName` and `currentAssignment` to construct 
`TierSegmentAssignment`


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