/** * Return row count of input block */ public static long getRowCount( BlockMappingVO blockMappingVO, CarbonTable carbonTable) { SegmentUpdateStatusManager updateStatusManager = new SegmentUpdateStatusManager(carbonTable); long rowCount = 0; Map<String, Long> blockRowCountMap = blockMappingVO.getBlockRowCountMapping(); for (Map.Entry<String, Long> blockRowEntry : blockRowCountMap.entrySet()) { String key = blockRowEntry.getKey(); long alreadyDeletedCount = 0; SegmentUpdateDetails detail = updateStatusManager.getDetailsForABlock(key); if (detail != null) { alreadyDeletedCount = Long.parseLong(detail.getDeletedRowsInBlock()); } rowCount += (blockRowEntry.getValue() - alreadyDeletedCount); } return rowCount; }
/** * * @param blockMappingVO * @param segmentUpdateStatusManager */ public static void createBlockDetailsMap(BlockMappingVO blockMappingVO, SegmentUpdateStatusManager segmentUpdateStatusManager) { Map<String, Long> blockRowCountMap = blockMappingVO.getBlockRowCountMapping(); Map<String, RowCountDetailsVO> outputMap = new HashMap<>(CarbonCommonConstants.DEFAULT_COLLECTION_SIZE); for (Map.Entry<String, Long> blockRowEntry : blockRowCountMap.entrySet()) { String key = blockRowEntry.getKey(); long alreadyDeletedCount = 0; SegmentUpdateDetails detail = segmentUpdateStatusManager.getDetailsForABlock(key); if (null != detail) { alreadyDeletedCount = Long.parseLong(detail.getDeletedRowsInBlock()); } RowCountDetailsVO rowCountDetailsVO = new RowCountDetailsVO(blockRowEntry.getValue(), alreadyDeletedCount); outputMap.put(key, rowCountDetailsVO); } blockMappingVO.setCompleteBlockRowDetailVO(outputMap); }
blockDetail.setDeletedRowsInBlock(newBlockEntry.getDeletedRowsInBlock()); } else {
.equalsIgnoreCase(carbonDataMergerUtilResult.getSegmentName())) { tempSegmentUpdateDetails.setDeletedRowsInBlock(origDetails.getDeletedRowsInBlock()); tempSegmentUpdateDetails.setSegmentStatus(origDetails.getSegmentStatus()); break;