/** * This will tell whether the max query timeout has been expired or not. * @param fileTimestamp * @return */ public static boolean isMaxQueryTimeoutExceeded(long fileTimestamp) { // record current time. long currentTime = CarbonUpdateUtil.readCurrentTime(); int maxTime; try { maxTime = Integer.parseInt(CarbonProperties.getInstance() .getProperty(CarbonCommonConstants.MAX_QUERY_EXECUTION_TIME)); } catch (NumberFormatException e) { maxTime = CarbonCommonConstants.DEFAULT_MAX_QUERY_EXECUTION_TIME; } long difference = currentTime - fileTimestamp; long minutesElapsed = (difference / (1000 * 60)); return minutesElapsed > maxTime; }
/** * updates segment status and modificaton time details * * @param loadMetadata */ public static void updateSegmentMetadataDetails(LoadMetadataDetails loadMetadata) { // update status only if the segment is not marked for delete if (SegmentStatus.MARKED_FOR_DELETE != loadMetadata.getSegmentStatus()) { loadMetadata.setSegmentStatus(SegmentStatus.MARKED_FOR_DELETE); loadMetadata.setModificationOrdeletionTimesStamp(CarbonUpdateUtil.readCurrentTime()); } }
loadFound = true; loadMetadata.setSegmentStatus(SegmentStatus.MARKED_FOR_DELETE); loadMetadata.setModificationOrdeletionTimesStamp(CarbonUpdateUtil.readCurrentTime()); LOG.info("Segment ID " + loadId + " Marked for Delete");
/** * Method to create new entry for load in table status file * * @param loadMetadataDetails * @param loadStatus * @param loadStartTime * @param addLoadEndTime */ public static void populateNewLoadMetaEntry(LoadMetadataDetails loadMetadataDetails, SegmentStatus loadStatus, long loadStartTime, boolean addLoadEndTime) { if (addLoadEndTime) { long loadEndDate = CarbonUpdateUtil.readCurrentTime(); loadMetadataDetails.setLoadEndTime(loadEndDate); } loadMetadataDetails.setSegmentStatus(loadStatus); loadMetadataDetails.setLoadStartTime(loadStartTime); }
public static void readAndUpdateLoadProgressInTableMeta(CarbonLoadModel model, boolean insertOverwrite, String uuid) throws IOException { LoadMetadataDetails newLoadMetaEntry = new LoadMetadataDetails(); SegmentStatus status = SegmentStatus.INSERT_IN_PROGRESS; if (insertOverwrite) { status = SegmentStatus.INSERT_OVERWRITE_IN_PROGRESS; } // reading the start time of data load. if (model.getFactTimeStamp() == 0) { long loadStartTime = CarbonUpdateUtil.readCurrentTime(); model.setFactTimeStamp(loadStartTime); } CarbonLoaderUtil .populateNewLoadMetaEntry(newLoadMetaEntry, status, model.getFactTimeStamp(), false); boolean entryAdded = CarbonLoaderUtil .recordNewLoadMetadata(newLoadMetaEntry, model, true, insertOverwrite, uuid); if (!entryAdded) { throw new IOException("Dataload failed due to failure in table status updation for " + model.getTableName()); } }
long modificationOrDeletionTimeStamp = CarbonUpdateUtil.readCurrentTime(); for (LoadMetadataDetails loadDetail : loadDetails) { loadMetadataDetails.setPartitionCount(CarbonTablePath.DEPRECATED_PATITION_ID); loadMetadataDetails.setSegmentStatus(SegmentStatus.SUCCESS); long loadEnddate = CarbonUpdateUtil.readCurrentTime(); loadMetadataDetails.setLoadEndTime(loadEnddate); CarbonTable carbonTable = carbonLoadModel.getCarbonDataLoadSchema().getCarbonTable();