@Override public Interval getDataInterval() { return !isClosed() ? baseSegment.getDataInterval() : null; }
@Override public QueryableIndex asQueryableIndex() { return !isClosed() ? baseSegment.asQueryableIndex() : null; }
@Override protected boolean onAdvance(int phase, int registeredParties) { Preconditions.checkState(registeredParties == 0); // Ensure that onAdvance() doesn't throw exception, otherwise termination won't happen try { baseSegment.close(); } catch (Exception e) { try { log.error(e, "Exception while closing segment[%s]", baseSegment.getId()); } catch (Exception e2) { // ignore } } // Always terminate. return true; } };
final QueryableIndex index = segment.asQueryableIndex(); final StorageAdapter adapter = segment.asStorageAdapter(); final List<DimensionSpec> searchDims = getDimsToSearch(adapter.getAvailableDimensions(), query.getDimensions());
Collections.singletonList(segment.getDataInterval()) : null; metadata = segment.asStorageAdapter().getMetadata(); if (metadata != null && metadata.getAggregators() != null) { aggregators = new HashMap<>(); if (updatedQuery.hasTimestampSpec()) { if (metadata == null) { metadata = segment.asStorageAdapter().getMetadata(); if (updatedQuery.hasQueryGranularity()) { if (metadata == null) { metadata = segment.asStorageAdapter().getMetadata(); if (updatedQuery.hasRollup()) { if (metadata == null) { metadata = segment.asStorageAdapter().getMetadata(); Collections.singletonList( new SegmentAnalysis( segment.getId().toString(), retIntervals, columns,
Collections.singletonList(segment.getDataInterval()) : null; metadata = segment.asStorageAdapter().getMetadata(); if (metadata != null && metadata.getAggregators() != null) { aggregators = Maps.newHashMap(); if (updatedQuery.hasTimestampSpec()) { if (metadata == null) { metadata = segment.asStorageAdapter().getMetadata(); if (updatedQuery.hasQueryGranularity()) { if (metadata == null) { metadata = segment.asStorageAdapter().getMetadata(); if (updatedQuery.hasRollup()) { if (metadata == null) { metadata = segment.asStorageAdapter().getMetadata(); Collections.singletonList( new SegmentAnalysis( segment.getIdentifier(), retIntervals, columns,
public GroupByQueryRunner(Segment segment, final GroupByStrategySelector strategySelector) { this.adapter = segment.asStorageAdapter(); this.strategySelector = strategySelector; }
final long timeoutAt = (long) responseContext.get(ScanQueryRunnerFactory.CTX_TIMEOUT_AT); final long start = System.currentTimeMillis(); final StorageAdapter adapter = segment.asStorageAdapter(); Preconditions.checkArgument(intervals.size() == 1, "Can only handle a single interval, got[%s]", intervals); final SegmentId segmentId = segment.getId();
final long timeoutAt = (long) responseContext.get(ScanQueryRunnerFactory.CTX_TIMEOUT_AT); final long start = System.currentTimeMillis(); final StorageAdapter adapter = segment.asStorageAdapter(); Preconditions.checkArgument(intervals.size() == 1, "Can only handle a single interval, got[%s]", intervals); final String segmentId = segment.getIdentifier();
@Override protected boolean onAdvance(int phase, int registeredParties) { Preconditions.checkState(registeredParties == 0); // Ensure that onAdvance() doesn't throw exception, otherwise termination won't happen try { baseSegment.close(); } catch (Exception e) { try { log.error(e, "Exception while closing segment[%s]", baseSegment.getIdentifier()); } catch (Exception e2) { // ignore } } // Always terminate. return true; } };
@Override public SegmentId getId() { return !isClosed() ? baseSegment.getId() : null; }
@Override public String getIdentifier() { return !isClosed() ? baseSegment.getIdentifier() : null; }
@Override public <T> T as(Class<T> clazz) { return getBaseSegment().as(clazz); } }
final QueryableIndex index = segment.asQueryableIndex(); final StorageAdapter storageAdapter = segment.asStorageAdapter();
public DataSourceMetadataQueryRunner(Segment segment) { this.adapter = segment.asStorageAdapter(); }
public Sequence<Result<SelectResultValue>> process(final SelectQuery query, final Segment segment) final StorageAdapter adapter = segment.asStorageAdapter(); final String segmentId = segment.getId().withInterval(intervals.get(0)).toString();
public Sequence<Result<SelectResultValue>> process(final SelectQuery query, final Segment segment) final StorageAdapter adapter = segment.asStorageAdapter(); final String segmentId = DataSegmentUtils.withInterval(dataSource, segment.getIdentifier(), intervals.get(0));
public void swapSegment(@Nullable Segment newSegment) { while (true) { ReferenceCountingSegment currentSegment = adapter.get(); if (currentSegment == null && newSegment == null) { return; } if (currentSegment != null && newSegment != null && !newSegment.getId().equals(currentSegment.getId())) { // Sanity check: identifier should not change throw new ISE( "WTF?! Cannot swap identifier[%s] -> [%s]!", currentSegment.getId(), newSegment.getId() ); } if (currentSegment == newSegment) { throw new ISE("Cannot swap to the same segment"); } ReferenceCountingSegment newReferenceCountingSegment = newSegment != null ? new ReferenceCountingSegment(newSegment) : null; if (adapter.compareAndSet(currentSegment, newReferenceCountingSegment)) { if (currentSegment != null) { currentSegment.close(); } index = null; return; } } }
public void swapSegment(@Nullable Segment newSegment) { while (true) { ReferenceCountingSegment currentSegment = adapter.get(); if (currentSegment == null && newSegment == null) { return; } if (currentSegment != null && newSegment != null && !newSegment.getIdentifier().equals(currentSegment.getIdentifier())) { // Sanity check: identifier should not change throw new ISE( "WTF?! Cannot swap identifier[%s] -> [%s]!", currentSegment.getIdentifier(), newSegment.getIdentifier() ); } if (currentSegment == newSegment) { throw new ISE("Cannot swap to the same segment"); } ReferenceCountingSegment newReferenceCountingSegment = newSegment != null ? new ReferenceCountingSegment(newSegment) : null; if (adapter.compareAndSet(currentSegment, newReferenceCountingSegment)) { if (currentSegment != null) { currentSegment.close(); } index = null; return; } } }
@Override public <T> T as(Class<T> clazz) { return getBaseSegment().as(clazz); } }