Github user kumarvishal09 commented on a diff in the pull request: https://github.com/apache/carbondata/pull/3029#discussion_r244722390 --- Diff: processing/src/main/java/org/apache/carbondata/processing/merger/CarbonCompactionUtil.java --- @@ -400,24 +417,53 @@ private static int getDimensionDefaultCardinality(CarbonDimension dimension) { * @param tableLastUpdatedTime * @return */ - public static boolean checkIfAnyRestructuredBlockExists(Map<String, TaskBlockInfo> segmentMapping, - Map<String, List<DataFileFooter>> dataFileMetadataSegMapping, long tableLastUpdatedTime) { - boolean restructuredBlockExists = false; - for (Map.Entry<String, TaskBlockInfo> taskMap : segmentMapping.entrySet()) { - String segmentId = taskMap.getKey(); + public static boolean checkIfAnyRestructuredBlockExists( + Map<String, TaskBlockInfo> segmentMapping, + Map<String, List<DataFileFooter>> dataFileMetadataSegMapping, + long tableLastUpdatedTime) { + + for (Map.Entry<String, TaskBlockInfo> segmentEntry : segmentMapping.entrySet()) { + String segmentId = segmentEntry.getKey(); List<DataFileFooter> listMetadata = dataFileMetadataSegMapping.get(segmentId); - for (DataFileFooter dataFileFooter : listMetadata) { - // if schema modified timestamp is greater than footer stored schema timestamp, - // it indicates it is a restructured block - if (tableLastUpdatedTime > dataFileFooter.getSchemaUpdatedTimeStamp()) { - restructuredBlockExists = true; - break; - } + + if (isRestructured(listMetadata, tableLastUpdatedTime)) { + return true; } - if (restructuredBlockExists) { - break; + } + + return false; + } + + public static boolean isRestructured(List<DataFileFooter> listMetadata, --- End diff -- Please add comments for all public method which you have exposed
---