.substring(filePath.lastIndexOf('-') + 1, filePath.lastIndexOf('.'))); if ((blockTimeStamp > invalidBlockVOForSegmentId.getFactTimestamp() && ( invalidBlockVOForSegmentId.getUpdateDeltaStartTimestamp() != null && blockTimeStamp < invalidBlockVOForSegmentId.getUpdateDeltaStartTimestamp()))) { return true; if (invalidBlockVOForSegmentId.getLatestUpdateTimestamp() != null && blockTimeStamp > invalidBlockVOForSegmentId.getLatestUpdateTimestamp()) { return true; if (null == invalidBlockVOForSegmentId.getUpdateDeltaStartTimestamp() && blockTimeStamp > invalidBlockVOForSegmentId.getFactTimestamp()) { return true;
public void setInvalidBlockForSegmentId(List<UpdateVO> invalidSegmentTimestampList) { for (UpdateVO anUpdateVO : invalidSegmentTimestampList) { this.invalidSegmentBlockIdMap.put(anUpdateVO.getSegmentId(), anUpdateVO); } }
/** * Returns the invalid timestamp range of a segment. * @param segmentId * @return */ public UpdateVO getInvalidTimestampRange(String segmentId) { UpdateVO range = new UpdateVO(); for (LoadMetadataDetails segment : segmentDetails) { if (segment.getLoadName().equalsIgnoreCase(segmentId)) { range.setSegmentId(segmentId); range.setFactTimestamp(segment.getLoadStartTime()); if (!segment.getUpdateDeltaStartTimestamp().isEmpty() && !segment .getUpdateDeltaEndTimestamp().isEmpty()) { range.setUpdateDeltaStartTimestamp( CarbonUpdateUtil.getTimeStampAsLong(segment.getUpdateDeltaStartTimestamp())); range.setLatestUpdateTimestamp( CarbonUpdateUtil.getTimeStampAsLong(segment.getUpdateDeltaEndTimestamp())); } return range; } } return range; }
TableSegmentRefresher(CarbonTable table) { SegmentUpdateStatusManager statusManager = new SegmentUpdateStatusManager(table); SegmentUpdateDetails[] updateStatusDetails = statusManager.getUpdateStatusDetails(); for (SegmentUpdateDetails updateDetails : updateStatusDetails) { UpdateVO updateVO = statusManager.getInvalidTimestampRange(updateDetails.getSegmentName()); segmentRefreshTime.put(updateVO.getSegmentId(), new SegmentRefreshInfo(updateVO.getCreatedOrUpdatedTimeStamp(), 0)); } }
public SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo) throws IOException { SegmentRefreshInfo segmentRefreshInfo; if (updateVo != null) { segmentRefreshInfo = new SegmentRefreshInfo(updateVo.getCreatedOrUpdatedTimeStamp(), 0); } else { segmentRefreshInfo = new SegmentRefreshInfo(0L, 0); } return segmentRefreshInfo; }
/** * Returns the invalid timestamp range of a segment. * @return */ public List<UpdateVO> getInvalidTimestampRange() { List<UpdateVO> ranges = new ArrayList<UpdateVO>(); for (LoadMetadataDetails segment : segmentDetails) { if ((SegmentStatus.LOAD_FAILURE == segment.getSegmentStatus() || SegmentStatus.COMPACTED == segment.getSegmentStatus() || SegmentStatus.MARKED_FOR_DELETE == segment.getSegmentStatus())) { UpdateVO range = new UpdateVO(); range.setSegmentId(segment.getLoadName()); range.setFactTimestamp(segment.getLoadStartTime()); if (!segment.getUpdateDeltaStartTimestamp().isEmpty() && !segment.getUpdateDeltaEndTimestamp().isEmpty()) { range.setUpdateDeltaStartTimestamp( CarbonUpdateUtil.getTimeStampAsLong(segment.getUpdateDeltaStartTimestamp())); range.setLatestUpdateTimestamp( CarbonUpdateUtil.getTimeStampAsLong(segment.getUpdateDeltaEndTimestamp())); } ranges.add(range); } } return ranges; }