public interface IndexerMetadataStorageCoordinator
| Modifier and Type | Method and Description | 
|---|---|
SegmentIdentifier | 
allocatePendingSegment(String dataSource,
                      String sequenceName,
                      String previousSegmentId,
                      org.joda.time.Interval interval,
                      String maxVersion,
                      boolean skipSegmentLineageCheck)
Allocate a new pending segment in the pending segments table. 
 | 
Set<DataSegment> | 
announceHistoricalSegments(Set<DataSegment> segments)
Attempts to insert a set of segments to the metadata storage. 
 | 
SegmentPublishResult | 
announceHistoricalSegments(Set<DataSegment> segments,
                          DataSourceMetadata startMetadata,
                          DataSourceMetadata endMetadata)
Attempts to insert a set of segments to the metadata storage. 
 | 
boolean | 
deleteDataSourceMetadata(String dataSource)
Removes entry for 'dataSource' from the dataSource metadata table. 
 | 
int | 
deletePendingSegments(String dataSource,
                     org.joda.time.Interval deleteInterval)
Delete pending segments created in the given interval for the given dataSource from the pending segments table. 
 | 
void | 
deleteSegments(Set<DataSegment> segments)  | 
DataSourceMetadata | 
getDataSourceMetadata(String dataSource)
Read dataSource metadata. 
 | 
List<DataSegment> | 
getUnusedSegmentsForInterval(String dataSource,
                            org.joda.time.Interval interval)
Get all segments which include ONLY data within the given interval and are not flagged as used. 
 | 
List<DataSegment> | 
getUsedSegmentsForInterval(String dataSource,
                          org.joda.time.Interval interval)
Get all segments which may include any data in the interval and are flagged as used. 
 | 
List<DataSegment> | 
getUsedSegmentsForIntervals(String dataSource,
                           List<org.joda.time.Interval> intervals)
Get all segments which may include any data in the interval and are flagged as used. 
 | 
boolean | 
resetDataSourceMetadata(String dataSource,
                       DataSourceMetadata dataSourceMetadata)
Resets dataSourceMetadata entry for 'dataSource' to the one supplied. 
 | 
void | 
updateSegmentMetadata(Set<DataSegment> segments)  | 
List<DataSegment> getUsedSegmentsForInterval(String dataSource, org.joda.time.Interval interval) throws IOException
dataSource - The datasource to queryinterval - The interval for which all applicable and used datasources are requested. Start is inclusive, end is exclusiveIOExceptionList<DataSegment> getUsedSegmentsForIntervals(String dataSource, List<org.joda.time.Interval> intervals) throws IOException
dataSource - The datasource to queryintervals - The intervals for which all applicable and used datasources are requested.IOExceptionSet<DataSegment> announceHistoricalSegments(Set<DataSegment> segments) throws IOException
segments - set of segments to addIOExceptionSegmentIdentifier allocatePendingSegment(String dataSource, String sequenceName, String previousSegmentId, org.joda.time.Interval interval, String maxVersion, boolean skipSegmentLineageCheck) throws IOException
dataSource - dataSource for which to allocate a segmentsequenceName - name of the group of ingestion tasks producing a segment seriespreviousSegmentId - previous segment in the series; may be null or empty, meaning this is the first segmentinterval - interval for which to allocate a segmentmaxVersion - use this version if we have no better version to use. The returned segment identifier may
                                have a version lower than this one, but will not have one higher.skipSegmentLineageCheck - if true, perform lineage validation using previousSegmentId for this sequence.
                                Should be set to false if replica tasks would index events in same orderIOExceptionint deletePendingSegments(String dataSource, org.joda.time.Interval deleteInterval)
created_date field of the pending segments table is checked to find segments to be deleted.dataSource - dataSourcedeleteInterval - interval to check the created_date of pendingSegmentsSegmentPublishResult announceHistoricalSegments(Set<DataSegment> segments, DataSourceMetadata startMetadata, DataSourceMetadata endMetadata) throws IOException
segments - set of segments to add, must all be from the same dataSourcestartMetadata - dataSource metadata pre-insert must match this startMetadata according to
                      DataSourceMetadata.matches(DataSourceMetadata). If null, this insert will
                      not involve a metadata transactionendMetadata - dataSource metadata post-insert will have this endMetadata merged in with
                      DataSourceMetadata.plus(DataSourceMetadata). If null, this insert will not
                      involve a metadata transactionIllegalArgumentException - if startMetadata and endMetadata are not either both null or both non-nullIOExceptionDataSourceMetadata getDataSourceMetadata(String dataSource)
boolean deleteDataSourceMetadata(String dataSource)
dataSource - identifierboolean resetDataSourceMetadata(String dataSource, DataSourceMetadata dataSourceMetadata) throws IOException
dataSource - identifierdataSourceMetadata - value to setIOExceptionvoid updateSegmentMetadata(Set<DataSegment> segments) throws IOException
IOExceptionvoid deleteSegments(Set<DataSegment> segments) throws IOException
IOExceptionList<DataSegment> getUnusedSegmentsForInterval(String dataSource, org.joda.time.Interval interval)
dataSource - The datasource the segments belong tointerval - Filter the data segments to ones that include data in this interval exclusively. Start is inclusive, end is exclusiveCopyright © 2011–2018. All rights reserved.