somandal commented on code in PR #15368:
URL: https://github.com/apache/pinot/pull/15368#discussion_r2027944455


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/rebalance/RebalanceSummaryResult.java:
##########
@@ -306,18 +297,121 @@ public Map<String, ServerSegmentChangeInfo> 
getServerSegmentChangeInfo() {
     }
   }
 
+  public static class ConsumingSegmentToBeMovedSummary {
+    private final int _numConsumingSegmentsToBeMoved;
+    private final int _numServersGettingConsumingSegmentsAdded;
+    private final Map<String, Integer> 
_consumingSegmentsToBeMovedWithMostOffsetsToCatchUp;
+    private final Map<String, Integer> 
_consumingSegmentsToBeMovedWithOldestAgeInMinutes;
+    private final Map<String, ConsumingSegmentSummaryPerServer> 
_serverConsumingSegmentSummary;
+
+    /**
+     * Constructor for ConsumingSegmentToBeMovedSummary
+     * @param numConsumingSegmentsToBeMoved total number of consuming segments 
to be moved as part of this rebalance
+     * @param numServersGettingConsumingSegmentsAdded maximum bytes of 
consuming segments to be moved to catch up
+     * @param consumingSegmentsToBeMovedWithMostOffsetsToCatchUp top consuming 
segments to be moved to catch up.
+     *                                                           Map from 
segment name to its number of offsets to
+     *                                                           catch up on 
the new server. This is essentially the
+     *                                                           difference 
between the latest offset of the stream
+     *                                                           and the 
segment's start offset of the stream. Set to
+     *                                                           null if the 
number of offsets to catch up could not
+     *                                                           be determined 
for at least one consuming segment
+     * @param consumingSegmentsToBeMovedWithOldestAgeInMinutes oldest 
consuming segments to be moved to catch up. Map

Review Comment:
   nit: as recommended by @klsince can you add clear comments here stating that 
this map is based on segment creation time and is only an estimate of age, with 
details on the drawbacks. I think having this in code will be useful for future 
maintenance so that we don't forget why we chose this and what the limitation 
are.
   
   If we find a better way to solve this with actual data age, we can remove 
the comment explaining the drawbacks etc. 



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