/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder addSegments( int index, io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange value) { if (segmentsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureSegmentsIsMutable(); segments_.add(index, value); onChanged(); } else { segmentsBuilder_.addMessage(index, value); } return this; } /**
Throwable cause = Exceptions.unwrap(e); if (cause instanceof EpochTransitionOperationExceptions.PreConditionFailureException) { response.setStatus(ScaleResponse.ScaleStreamStatus.PRECONDITION_FAILED); } else { log.warn(requestId, "Scale for stream {}/{} failed with exception {}", scope, stream, cause); response.setStatus(ScaleResponse.ScaleStreamStatus.FAILURE); response.setStatus(ScaleResponse.ScaleStreamStatus.STARTED); response.addAllSegments( startScaleResponse.getObject().getNewSegmentsWithRange().entrySet() .stream() .map(segment -> convert(scope, stream, segment)) .collect(Collectors.toList())); response.setEpoch(startScaleResponse.getObject().getActiveEpoch()); return response.build(); }));
public Builder mergeFrom(io.pravega.controller.stream.api.grpc.v1.Controller.ScaleResponse other) { if (other == io.pravega.controller.stream.api.grpc.v1.Controller.ScaleResponse.getDefaultInstance()) return this; if (other.status_ != 0) { setStatusValue(other.getStatusValue()); bitField0_ = (bitField0_ & ~0x00000002); } else { ensureSegmentsIsMutable(); segments_.addAll(other.segments_); onChanged(); segmentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSegmentsFieldBuilder() : null; } else { segmentsBuilder_.addAllMessages(other.segments_); setEpoch(other.getEpoch()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this;
@Test public void testScaleStream() throws ExecutionException, InterruptedException { when(this.mockControllerService.checkScale(anyString(), anyString(), anyInt())).thenReturn( CompletableFuture.completedFuture(Controller.ScaleStatusResponse.newBuilder() .setStatus(Controller.ScaleStatusResponse.ScaleStatus.SUCCESS).build())); when(this.mockControllerService.scale(any(), any(), any(), any(), anyLong())).thenReturn( CompletableFuture.completedFuture(Controller.ScaleResponse.newBuilder() .setStatus(Controller.ScaleResponse.ScaleStreamStatus.STARTED).build())); Assert.assertTrue(this.testController.scaleStream(new StreamImpl("scope", "stream"), new ArrayList<>(), new HashMap<>(), executorService()).getFuture().join()); when(this.mockControllerService.scale(any(), any(), any(), any(), anyLong())).thenReturn( CompletableFuture.completedFuture(Controller.ScaleResponse.newBuilder() .setStatus(Controller.ScaleResponse.ScaleStreamStatus.PRECONDITION_FAILED).build())); Assert.assertFalse(this.testController.scaleStream(new StreamImpl("scope", "stream"), new ArrayList<>(), new HashMap<>(), executorService()).getFuture().join()); when(this.mockControllerService.scale(any(), any(), any(), any(), anyLong())).thenReturn( CompletableFuture.completedFuture(Controller.ScaleResponse.newBuilder() .setStatus(Controller.ScaleResponse.ScaleStreamStatus.FAILURE).build())); assertThrows("Expected ControllerFailureException", () -> this.testController.startScale(new StreamImpl("scope", "stream"), new ArrayList<>(), new HashMap<>()).join(), ex -> ex instanceof ControllerFailureException); when(this.mockControllerService.scale(any(), any(), any(), any(), anyLong())).thenReturn( CompletableFuture.completedFuture(Controller.ScaleResponse.newBuilder() .setStatusValue(-1).build())); assertThrows("Expected ControllerFailureException", () -> this.testController.startScale(new StreamImpl("scope", "stream"), new ArrayList<>(), new HashMap<>()).join(), ex -> ex instanceof ControllerFailureException); }
@Override public void scale(ScaleRequest request, StreamObserver<ScaleResponse> responseObserver) { if (request.getStreamInfo().getStream().equals("stream1")) { responseObserver.onNext(ScaleResponse.newBuilder() .setStatus(ScaleResponse.ScaleStreamStatus.STARTED) .addSegments(ModelHelper.createSegmentRange("scope1", "stream1", 0, 0.0, 0.5)) .addSegments(ModelHelper.createSegmentRange("scope1", "stream1", 1, 0.5, 1.0)) .setEpoch(0) .build()); responseObserver.onCompleted(); } else { responseObserver.onError(Status.INTERNAL.withDescription("Server error").asRuntimeException()); } }
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder setSegments( int index, io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange value) { if (segmentsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureSegmentsIsMutable(); segments_.set(index, value); onChanged(); } else { segmentsBuilder_.setMessage(index, value); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder addSegments(io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange value) { if (segmentsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureSegmentsIsMutable(); segments_.add(value); onChanged(); } else { segmentsBuilder_.addMessage(value); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder addSegments( int index, io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange.Builder builderForValue) { if (segmentsBuilder_ == null) { ensureSegmentsIsMutable(); segments_.add(index, builderForValue.build()); onChanged(); } else { segmentsBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder setSegments( int index, io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange.Builder builderForValue) { if (segmentsBuilder_ == null) { ensureSegmentsIsMutable(); segments_.set(index, builderForValue.build()); onChanged(); } else { segmentsBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder addAllSegments( java.lang.Iterable<? extends io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange> values) { if (segmentsBuilder_ == null) { ensureSegmentsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, segments_); onChanged(); } else { segmentsBuilder_.addAllMessages(values); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder addSegments( io.pravega.controller.stream.api.grpc.v1.Controller.SegmentRange.Builder builderForValue) { if (segmentsBuilder_ == null) { ensureSegmentsIsMutable(); segments_.add(builderForValue.build()); onChanged(); } else { segmentsBuilder_.addMessage(builderForValue.build()); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.SegmentRange segments = 2;</code> */ public Builder removeSegments(int index) { if (segmentsBuilder_ == null) { ensureSegmentsIsMutable(); segments_.remove(index); onChanged(); } else { segmentsBuilder_.remove(index); } return this; } /**
@java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /**
public io.pravega.controller.stream.api.grpc.v1.Controller.ScaleResponse build() { io.pravega.controller.stream.api.grpc.v1.Controller.ScaleResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }