List<Long> segmentIds) throws ExecutionException, InterruptedException { Controller.StreamCutRange.Builder rangeBuilder = Controller.StreamCutRange.newBuilder().setStreamInfo( Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); Controller.StreamCutRange streamCutRange; streamCutRange = rangeBuilder.putAllFrom(streamCut01).putAllTo(Collections.emptyMap()).build(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut023).putAllTo(Collections.emptyMap()).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut423).putAllTo(Collections.emptyMap()).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut56).putAllTo(Collections.emptyMap()).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut41).putAllTo(Collections.emptyMap()).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut06).putAllTo(Collections.emptyMap()).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get();
List<Long> segmentIds) throws ExecutionException, InterruptedException { Controller.StreamCutRange.Builder rangeBuilder = Controller.StreamCutRange.newBuilder().setStreamInfo( Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); Controller.StreamCutRange streamCutRange; streamCutRange = rangeBuilder.putAllFrom(streamCut01).putAllTo(streamCut023).build(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut01).putAllTo(streamCut423).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut01).putAllTo(streamCut06).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut41).putAllTo(streamCut56).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut01).putAllTo(streamCut06).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get();
List<Long> segmentIds) throws InterruptedException, java.util.concurrent.ExecutionException { Controller.StreamCutRange.Builder rangeBuilder = Controller.StreamCutRange.newBuilder().setStreamInfo( Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); Controller.StreamCutRange streamCutRange; streamCutRange = rangeBuilder.putAllFrom(Collections.emptyMap()).putAllTo(streamCut01).build(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(Collections.emptyMap()).putAllTo(streamCut023).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(Collections.emptyMap()).putAllTo(streamCut423).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(Collections.emptyMap()).putAllTo(streamCut56).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(Collections.emptyMap()).putAllTo(streamCut41).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get(); Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(Collections.emptyMap()).putAllTo(streamCut06).build(); segments = consumer.getSegmentsBetweenStreamCuts(streamCutRange).get();
.setScope(SCOPE1) .setStream(STREAM1) .build();
@Test public void truncateStreamTests() { CreateScopeStatus createScopeStatus; CreateStreamStatus createStreamStatus; final StreamConfiguration configuration1 = StreamConfiguration.builder().scalingPolicy(ScalingPolicy.fixed(4)).build(); // Create a test scope. ResultObserver<CreateScopeStatus> result1 = new ResultObserver<>(); this.controllerService.createScope(ModelHelper.createScopeInfo(SCOPE1), result1); createScopeStatus = result1.get(); assertEquals("Create Scope", CreateScopeStatus.Status.SUCCESS, createScopeStatus.getStatus()); // Create a test stream. ResultObserver<CreateStreamStatus> result2 = new ResultObserver<>(); this.controllerService.createStream(ModelHelper.decode(SCOPE1, STREAM1, configuration1), result2); createStreamStatus = result2.get(); assertEquals("Create stream", CreateStreamStatus.Status.SUCCESS, createStreamStatus.getStatus()); //Truncate the stream ResultObserver<UpdateStreamStatus> result3 = new ResultObserver<>(); this.controllerService.truncateStream(Controller.StreamCut.newBuilder() .setStreamInfo(StreamInfo.newBuilder() .setScope(SCOPE1) .setStream(STREAM1) .build()) .putCut(0, 0).putCut(1, 0).putCut(2, 0).putCut(3, 0).build(), result3); UpdateStreamStatus truncateStreamStatus = result3.get(); assertEquals(UpdateStreamStatus.Status.SUCCESS, truncateStreamStatus.getStatus()); }
@Test public void testStreamCutRequestAndResponse() { List<SegmentId> segments = Collections.singletonList(SegmentId.newBuilder().setStreamInfo(Controller.StreamInfo.newBuilder(). setScope("testScope").setStream("testStream")).build()); AssertExtensions.assertThrows("invalid scope and stream", () -> ModelHelper.createStreamCutRangeResponse("scope", "stream", segments, ""), e -> e instanceof IllegalArgumentException); Controller.StreamCutRangeResponse response = ModelHelper.createStreamCutRangeResponse("testScope", "testStream", segments, ""); Assert.assertEquals(1, response.getSegmentsCount()); final SegmentId resultSegmentID = response.getSegments(0); assertEquals("testScope", resultSegmentID.getStreamInfo().getScope()); assertEquals("testStream", resultSegmentID.getStreamInfo().getStream()); assertEquals(0L, resultSegmentID.getSegmentId()); }
private Controller.SegmentRange createSegmentRange(double minKey, double maxKey) { SegmentId.Builder segment = SegmentId.newBuilder().setStreamInfo(Controller.StreamInfo.newBuilder(). setScope("testScope").setStream("testStream")).setSegmentId(0); return Controller.SegmentRange.newBuilder().setSegmentId(segment) .setMinKey(minKey).setMaxKey(maxKey).build(); } }
private void testToBeforeFrom(Map<Long, Long> streamCut01, Map<Long, Long> streamCut023, Map<Long, Long> streamCut56) { Controller.StreamCutRange.Builder rangeBuilder = Controller.StreamCutRange.newBuilder().setStreamInfo( Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); Controller.StreamCutRange streamCutRange; streamCutRange = rangeBuilder.putAllFrom(streamCut023).putAllTo(streamCut01).build(); AssertExtensions.assertFutureThrows("to before from", consumer.getSegmentsBetweenStreamCuts(streamCutRange), e -> e instanceof IllegalArgumentException); rangeBuilder = Controller.StreamCutRange.newBuilder().setStreamInfo( Controller.StreamInfo.newBuilder().setScope(SCOPE).setStream(STREAM).build()); streamCutRange = rangeBuilder.putAllFrom(streamCut56).putAllTo(streamCut023).build(); AssertExtensions.assertFutureThrows("to before from", consumer.getSegmentsBetweenStreamCuts(streamCutRange), e -> e instanceof IllegalArgumentException); }
public static final StreamInfo createStreamInfo(final String scope, final String stream) { Exceptions.checkNotNullOrEmpty(scope, "scope"); Exceptions.checkNotNullOrEmpty(stream, "stream"); return StreamInfo.newBuilder().setScope(scope).setStream(stream).build(); }