jtao15 commented on code in PR #10387:
URL: https://github.com/apache/pinot/pull/10387#discussion_r1129868495
##########
pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/mergerollup/MergeRollupTaskGenerator.java:
##########
@@ -544,26 +578,51 @@ private boolean hasSpilledOverData(SegmentZKMetadata
segmentZKMetadata, long buc
return segmentZKMetadata.getStartTimeMs() / bucketMs <
segmentZKMetadata.getEndTimeMs() / bucketMs;
}
+// /**
+// * Check if the segment is merged for given merge level
+// */
+// private boolean isMergedSegment(SegmentZKMetadata segmentZKMetadata,
String mergeLevel) {
+// Map<String, String> customMap = segmentZKMetadata.getCustomMap();
+// return mergeLevel == null || (customMap != null &&
mergeLevel.equalsIgnoreCase(
+// customMap.get(MergeRollupTask.SEGMENT_ZK_METADATA_MERGE_LEVEL_KEY)));
+// }
+
/**
- * Check if the segment is merged for give merge level
+ * Check if the segment is merged for given merge level and any higher level
*/
- private boolean isMergedSegment(SegmentZKMetadata segmentZKMetadata, String
mergeLevel) {
+ private boolean isMergedSegment(SegmentZKMetadata segmentZKMetadata, String
baseMergeLevel,
+ List<String> sortedMergeLevels) {
Map<String, String> customMap = segmentZKMetadata.getCustomMap();
- return customMap != null && mergeLevel.equalsIgnoreCase(
- customMap.get(MergeRollupTask.SEGMENT_ZK_METADATA_MERGE_LEVEL_KEY));
+ if (baseMergeLevel == null) {
+ return true;
+ }
+ if (customMap == null ||
customMap.get(MergeRollupTask.SEGMENT_ZK_METADATA_MERGE_LEVEL_KEY) == null) {
+ return false;
+ }
+ String mergeLevel =
customMap.get(MergeRollupTask.SEGMENT_ZK_METADATA_MERGE_LEVEL_KEY);
Review Comment:
Actually, we may get NPE if `custmMap` is null, I've reverted the change.
--
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]