wrappedMetadata = new AppenderatorDriverMetadata( ImmutableMap.copyOf( Maps.transformValues(
final Map<String, String> lastSegmentIds = metadata.getLastSegmentIds(); Preconditions.checkState( metadata.getSegments().keySet().equals(lastSegmentIds.keySet()), "Sequences for segment states and last segment IDs are not same" ); for (Entry<String, List<SegmentWithState>> entry : metadata.getSegments().entrySet()) { final String sequenceName = entry.getKey(); final SegmentsForSequenceBuilder builder = new SegmentsForSequenceBuilder(lastSegmentIds.get(sequenceName)); return metadata.getCallerMetadata(); } else { return null;
/** * Drop segments in background. The segments should be pushed (in batch ingestion) or published (in streaming * ingestion) before being dropped. * * @param segmentsAndMetadata result of pushing or publishing * * @return a future for dropping segments */ ListenableFuture<SegmentsAndMetadata> dropInBackground(SegmentsAndMetadata segmentsAndMetadata) { log.info("Dropping segments[%s]", segmentsAndMetadata.getSegments()); final ListenableFuture<?> dropFuture = Futures.allAsList( segmentsAndMetadata .getSegments() .stream() .map(segment -> appenderator.drop(SegmentIdWithShardSpec.fromDataSegment(segment))) .collect(Collectors.toList()) ); return Futures.transform( dropFuture, (Function<Object, SegmentsAndMetadata>) x -> { final Object metadata = segmentsAndMetadata.getCommitMetadata(); return new SegmentsAndMetadata( segmentsAndMetadata.getSegments(), metadata == null ? null : ((AppenderatorDriverMetadata) metadata).getCallerMetadata() ); } ); }
new SegmentsAndMetadata( segmentsAndMetadata.getSegments(), ((AppenderatorDriverMetadata) metadata).getCallerMetadata()
final Map<String, String> lastSegmentIds = metadata.getLastSegmentIds(); Preconditions.checkState( metadata.getSegments().keySet().equals(lastSegmentIds.keySet()), "Sequences for segment states and last segment IDs are not same" ); for (Entry<String, List<SegmentWithState>> entry : metadata.getSegments().entrySet()) { final String sequenceName = entry.getKey(); final SegmentsForSequenceBuilder builder = new SegmentsForSequenceBuilder(lastSegmentIds.get(sequenceName)); return metadata.getCallerMetadata(); } else { return null;
final boolean published = publisher.publishSegments( ImmutableSet.copyOf(segmentsAndMetadata.getSegments()), metadata == null ? null : ((AppenderatorDriverMetadata) metadata).getCallerMetadata() ).isSuccess();
wrappedMetadata = new AppenderatorDriverMetadata( ImmutableMap.copyOf( Maps.transformValues(
/** * Drop segments in background. The segments should be pushed (in batch ingestion) or published (in streaming * ingestion) before being dropped. * * @param segmentsAndMetadata result of pushing or publishing * * @return a future for dropping segments */ ListenableFuture<SegmentsAndMetadata> dropInBackground(SegmentsAndMetadata segmentsAndMetadata) { log.info("Dropping segments[%s]", segmentsAndMetadata.getSegments()); final ListenableFuture<?> dropFuture = Futures.allAsList( segmentsAndMetadata .getSegments() .stream() .map(segment -> appenderator.drop(SegmentIdentifier.fromDataSegment(segment))) .collect(Collectors.toList()) ); return Futures.transform( dropFuture, (Function<Object, SegmentsAndMetadata>) x -> { final Object metadata = segmentsAndMetadata.getCommitMetadata(); return new SegmentsAndMetadata( segmentsAndMetadata.getSegments(), metadata == null ? null : ((AppenderatorDriverMetadata) metadata).getCallerMetadata() ); } ); }
final boolean published = publisher.publishSegments( ImmutableSet.copyOf(segmentsAndMetadata.getSegments()), metadata == null ? null : ((AppenderatorDriverMetadata) metadata).getCallerMetadata() ).isSuccess();
new SegmentsAndMetadata( segmentsAndMetadata.getSegments(), ((AppenderatorDriverMetadata) metadata).getCallerMetadata()