marchpure commented on a change in pull request #3986: URL: https://github.com/apache/carbondata/pull/3986#discussion_r506261693
########## File path: processing/src/main/java/org/apache/carbondata/processing/merger/CarbonDataMergerUtil.java ########## @@ -1246,8 +1209,22 @@ public static boolean isHorizontalCompactionEnabled() { // set the update status. segmentUpdateStatusManager.setUpdateStatusDetails(segmentUpdateDetails); - CarbonFile[] deleteDeltaFiles = - segmentUpdateStatusManager.getDeleteDeltaFilesList(new Segment(seg), blockName); + // only when SegmentUpdateDetails contain the specified block + // will the method getDeleteDeltaFilesList be executed + List<String> blockNameList = segmentUpdateStatusManager.getBlockNameFromSegment(seg); + Map<String, List<CarbonFile>> blockAndDeleteDeltaFilesMap = new HashMap<>(); + CarbonFile[] deleteDeltaFiles = null; + if (blockNameList.contains(blockName)) { + blockAndDeleteDeltaFilesMap = + segmentUpdateStatusManager.getDeleteDeltaFilesList(new Segment(seg)); + } + if (blockAndDeleteDeltaFilesMap.containsKey(blockName)) { + List<CarbonFile> deleteDeltaFileList = blockAndDeleteDeltaFilesMap.get(blockName); + deleteDeltaFiles = deleteDeltaFileList.toArray(new CarbonFile[deleteDeltaFileList.size()]); + } + + // CarbonFile[] deleteDeltaFiles = Review comment: delete these 2 lines ########## File path: processing/src/main/java/org/apache/carbondata/processing/merger/CarbonDataMergerUtil.java ########## @@ -1246,8 +1209,22 @@ public static boolean isHorizontalCompactionEnabled() { // set the update status. segmentUpdateStatusManager.setUpdateStatusDetails(segmentUpdateDetails); - CarbonFile[] deleteDeltaFiles = - segmentUpdateStatusManager.getDeleteDeltaFilesList(new Segment(seg), blockName); + // only when SegmentUpdateDetails contain the specified block + // will the method getDeleteDeltaFilesList be executed + List<String> blockNameList = segmentUpdateStatusManager.getBlockNameFromSegment(seg); + Map<String, List<CarbonFile>> blockAndDeleteDeltaFilesMap = new HashMap<>(); + CarbonFile[] deleteDeltaFiles = null; Review comment: = new CarbonFile[0] ########## File path: processing/src/main/java/org/apache/carbondata/processing/merger/CarbonDataMergerUtil.java ########## @@ -1246,8 +1209,22 @@ public static boolean isHorizontalCompactionEnabled() { // set the update status. segmentUpdateStatusManager.setUpdateStatusDetails(segmentUpdateDetails); - CarbonFile[] deleteDeltaFiles = - segmentUpdateStatusManager.getDeleteDeltaFilesList(new Segment(seg), blockName); + // only when SegmentUpdateDetails contain the specified block + // will the method getDeleteDeltaFilesList be executed + List<String> blockNameList = segmentUpdateStatusManager.getBlockNameFromSegment(seg); + Map<String, List<CarbonFile>> blockAndDeleteDeltaFilesMap = new HashMap<>(); + CarbonFile[] deleteDeltaFiles = null; + if (blockNameList.contains(blockName)) { Review comment: if (blockNameList.contains(blockName)) { blockAndDeleteDeltaFilesMap = if (blockAndDeleteDeltaFilesMap.containsKey(blockName)) { } } ########## File path: processing/src/main/java/org/apache/carbondata/processing/merger/CarbonDataMergerUtil.java ########## @@ -1246,8 +1209,22 @@ public static boolean isHorizontalCompactionEnabled() { // set the update status. segmentUpdateStatusManager.setUpdateStatusDetails(segmentUpdateDetails); - CarbonFile[] deleteDeltaFiles = - segmentUpdateStatusManager.getDeleteDeltaFilesList(new Segment(seg), blockName); + // only when SegmentUpdateDetails contain the specified block + // will the method getDeleteDeltaFilesList be executed + List<String> blockNameList = segmentUpdateStatusManager.getBlockNameFromSegment(seg); + Map<String, List<CarbonFile>> blockAndDeleteDeltaFilesMap = new HashMap<>(); + CarbonFile[] deleteDeltaFiles = null; + if (blockNameList.contains(blockName)) { + blockAndDeleteDeltaFilesMap = + segmentUpdateStatusManager.getDeleteDeltaFilesList(new Segment(seg)); + } + if (blockAndDeleteDeltaFilesMap.containsKey(blockName)) { Review comment: no need to covert to array ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org