/** * checks number of loads to be preserved and returns remaining valid segments * * @param segments * @param tblProps * @return */ private static List<LoadMetadataDetails> checkPreserveSegmentsPropertyReturnRemaining( List<LoadMetadataDetails> segments, Map<String, String> tblProps) { // check whether the preserving of the segments from merging is enabled or not. // get the number of loads to be preserved. default value is system level option // overwrite system level option by table level option if exists int numberOfSegmentsToBePreserved = CarbonProperties.getInstance() .getNumberOfSegmentsToBePreserved(); if (tblProps.containsKey(CarbonCommonConstants.TABLE_COMPACTION_PRESERVE_SEGMENTS)) { numberOfSegmentsToBePreserved = Integer.parseInt( tblProps.get(CarbonCommonConstants.TABLE_COMPACTION_PRESERVE_SEGMENTS)); } // get the number of valid segments and retain the latest loads from merging. return CarbonDataMergerUtil .getValidLoadDetailsWithRetaining(segments, numberOfSegmentsToBePreserved); }