public ValidAndInvalidSegmentsInfo getValidAndInvalidSegments() throws IOException { return getValidAndInvalidSegments(null, null); }
private static SegmentStatusManager.ValidAndInvalidSegmentsInfo getValidAndInvalidSegments( CarbonTable carbonTable, Configuration configuration) throws IOException { SegmentStatusManager ssm = new SegmentStatusManager(carbonTable.getAbsoluteTableIdentifier(), configuration); return ssm.getValidAndInvalidSegments(); }
/** * This method returns the valid segments attached to the table Identifier. * * @param absoluteTableIdentifier * @return */ public static List<Segment> getValidSegmentList(AbsoluteTableIdentifier absoluteTableIdentifier) throws IOException { SegmentStatusManager.ValidAndInvalidSegmentsInfo validAndInvalidSegments = null; try { validAndInvalidSegments = new SegmentStatusManager(absoluteTableIdentifier).getValidAndInvalidSegments(); } catch (IOException e) { LOGGER.error("Error while getting valid segment list for a table identifier"); throw new IOException(); } return validAndInvalidSegments.getValidSegments(); }
@Override public void deleteDatamapData() { SegmentStatusManager ssm = new SegmentStatusManager(getCarbonTable().getAbsoluteTableIdentifier()); try { List<Segment> validSegments = ssm.getValidAndInvalidSegments().getValidSegments(); for (Segment segment : validSegments) { deleteDatamapData(segment); } } catch (IOException e) { LOGGER.error("drop datamap failed, failed to delete datamap directory"); } }
/** * this method will delete the datamap folders during drop datamap * @throws MalformedDataMapCommandException */ private void deleteDatamap() throws MalformedDataMapCommandException { SegmentStatusManager ssm = new SegmentStatusManager(tableIdentifier); try { List<Segment> validSegments = ssm.getValidAndInvalidSegments().getValidSegments(); for (Segment segment : validSegments) { deleteDatamapData(segment); } } catch (IOException | RuntimeException ex) { throw new MalformedDataMapCommandException( "drop datamap failed, failed to delete datamap directory"); } }
/** * Update the table status file with the dropped partitions information * * @param carbonTable * @param uniqueId * @param toBeUpdatedSegments * @param toBeDeleteSegments * @throws IOException */ public static void commitDropPartitions(CarbonTable carbonTable, String uniqueId, List<String> toBeUpdatedSegments, List<String> toBeDeleteSegments, String uuid) throws IOException { if (toBeDeleteSegments.size() > 0 || toBeUpdatedSegments.size() > 0) { Set<Segment> segmentSet = new HashSet<>( new SegmentStatusManager(carbonTable.getAbsoluteTableIdentifier()) .getValidAndInvalidSegments().getValidSegments()); CarbonUpdateUtil.updateTableMetadataStatus(segmentSet, carbonTable, uniqueId, true, Segment.toSegmentList(toBeDeleteSegments, null), Segment.toSegmentList(toBeUpdatedSegments, null), uuid); } }
List<Segment> validSegments = new SegmentStatusManager(table.getAbsoluteTableIdentifier()) .getValidAndInvalidSegments().getValidSegments(); String uniqueId = String.valueOf(System.currentTimeMillis()); List<String> tobeUpdatedSegs = new ArrayList<>();
readCommittedScope.getConfiguration()); SegmentStatusManager.ValidAndInvalidSegmentsInfo segments = segmentStatusManager .getValidAndInvalidSegments(loadMetadataDetails, this.readCommittedScope);
SegmentStatusManager.ValidAndInvalidSegmentsInfo allSegments = new SegmentStatusManager(identifier, readCommittedScope.getConfiguration()) .getValidAndInvalidSegments(loadMetadataDetails, readCommittedScope); Map<String, Long> blockRowCountMapping = new HashMap<>(); Map<String, Long> segmentAndBlockCountMapping = new HashMap<>();
Set<Segment> segmentSet = new HashSet<>( new SegmentStatusManager(carbonTable.getAbsoluteTableIdentifier(), context.getConfiguration()).getValidAndInvalidSegments().getValidSegments()); if (updateTime != null) { CarbonUpdateUtil.updateTableMetadataStatus(segmentSet, carbonTable, updateTime, true,
new SegmentStatusManager(carbonTable.getAbsoluteTableIdentifier()); SegmentStatusManager.ValidAndInvalidSegmentsInfo validAndInvalidSegmentsInfo = segmentStatusManager.getValidAndInvalidSegments(); List<Segment> validSegments = validAndInvalidSegmentsInfo.getValidSegments(); if (validSegments.isEmpty()) {