jugomezv commented on code in PR #10387: URL: https://github.com/apache/pinot/pull/10387#discussion_r1128444951
########## pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/mergerollup/MergeRollupTaskGenerator.java: ########## @@ -712,6 +771,98 @@ private void createOrUpdateDelayMetrics(String tableNameWithType, String mergeLe }); } + /** + * Update the number buckets to process for the given table and merge level. We create the new gauge metric if + * the metric is not available. + * @param tableNameWithType table name with type + * @param mergeLevel merge level + * @param lowerMergeLevel lower merge level + * @param bufferTimeMs buffer time + * @param bucketTimeMs bucket time + * @param sortedSegments sorted segment list + * @param sortedMergeLevels sorted merge level list + */ + private void createOrUpdateNumBucketsToProcessMetrics(String tableNameWithType, String mergeLevel, + String lowerMergeLevel, long bufferTimeMs, long bucketTimeMs, + List<SegmentZKMetadata> sortedSegments, List<String> sortedMergeLevels) { + ControllerMetrics controllerMetrics = _clusterInfoAccessor.getControllerMetrics(); + if (controllerMetrics == null) { + return; + } + + // Find all buckets and segments that are ready to merge + List<List<SegmentZKMetadata>> selectedSegmentsForAllBuckets = new ArrayList<>(); + List<SegmentZKMetadata> selectedSegmentsForBucket = new ArrayList<>(); + long bucketStartMs = sortedSegments.get(0).getStartTimeMs() / bucketTimeMs * bucketTimeMs; + long bucketEndMs = bucketStartMs + bucketTimeMs; + boolean hasUnmergedSegments = false; + boolean isAllSegmentsReadyToMerge = true; + + for (SegmentZKMetadata segment : sortedSegments) { + long startTimeMs = segment.getStartTimeMs(); + if (startTimeMs < bucketEndMs) { Review Comment: should this be check for <=? -- 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