somandal commented on code in PR #15368: URL: https://github.com/apache/pinot/pull/15368#discussion_r2019835365
########## pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/rebalance/RebalanceSummaryResult.java: ########## @@ -306,18 +298,107 @@ public Map<String, ServerSegmentChangeInfo> getServerSegmentChangeInfo() { } } + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class ConsumingSegmentToBeMovedSummary { + private final int _numConsumingSegmentsToBeMoved; + private final int _numServerGettingConsumingSegmentsAdded; + // the top N consuming segments with most offsets to be consumed by a server. this is essentially the difference + // between the latest offset of the stream and the segment's start offset of the stream + private final Map<String, Integer> _consumingSegmentsToBeMovedWithMostOffsetsToCatchUp; + // top N oldest consuming segments. the age of a segment is determined by its creation time + private final Map<String, Integer> _oldestConsumingSegmentsToBeMovedInMinutes; + private final Map<String, ConsumingSegmentSummaryPerServer> _serverConsumingSegmentSummary; + + /** + * Constructor for ConsumingSegmentInfo + * @param numConsumingSegmentsToBeMoved total number of consuming segments to be moved as part of this rebalance + * @param numServerGettingConsumingSegmentsAdded maximum bytes of consuming segments to be moved to catch up + * @param consumingSegmentsToBeMovedWithMostOffsetsToCatchUp top consuming segments to be moved to catch up + * @param oldestConsumingSegmentsToBeMovedInMinutes oldest consuming segments to be moved to catch up + * @param serverConsumingSegmentSummary offsets of consuming segments to be moved to catch up per + * server + */ + @JsonCreator + public ConsumingSegmentToBeMovedSummary( + @JsonProperty("numConsumingSegmentsToBeMoved") int numConsumingSegmentsToBeMoved, + @JsonProperty("numServerGettingConsumingSegmentsAdded") int numServerGettingConsumingSegmentsAdded, + @JsonProperty("consumingSegmentsToBeMovedWithMostOffsetsToCatchUp") @Nullable + Map<String, Integer> consumingSegmentsToBeMovedWithMostOffsetsToCatchUp, + @JsonProperty("oldestConsumingSegmentsToBeMovedInMinutes") @Nullable + Map<String, Integer> oldestConsumingSegmentsToBeMovedInMinutes, Review Comment: do these need to be marked as `@Nullable`? -- 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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org