/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.ScaleRequest.KeyRangeEntry newKeyRanges = 3;</code> */ public Builder setNewKeyRanges( int index, io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.Builder builderForValue) { if (newKeyRangesBuilder_ == null) { ensureNewKeyRangesIsMutable(); newKeyRanges_.set(index, builderForValue.build()); onChanged(); } else { newKeyRangesBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.ScaleRequest.KeyRangeEntry newKeyRanges = 3;</code> */ public Builder addNewKeyRanges( int index, io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.Builder builderForValue) { if (newKeyRangesBuilder_ == null) { ensureNewKeyRangesIsMutable(); newKeyRanges_.add(index, builderForValue.build()); onChanged(); } else { newKeyRangesBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.ScaleRequest.KeyRangeEntry newKeyRanges = 3;</code> */ public Builder addNewKeyRanges( io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.Builder builderForValue) { if (newKeyRangesBuilder_ == null) { ensureNewKeyRangesIsMutable(); newKeyRanges_.add(builderForValue.build()); onChanged(); } else { newKeyRangesBuilder_.addMessage(builderForValue.build()); } return this; } /**
.setScaleTimestamp(createTime + 20) .addSealedSegments(1) .addNewKeyRanges(ScaleRequest.KeyRangeEntry.newBuilder().setStart(0.5).setEnd(0.75).build()) .addNewKeyRanges(ScaleRequest.KeyRangeEntry.newBuilder().setStart(0.75).setEnd(1.0).build()) .build(); ResultObserver<ScaleResponse> result2 = new ResultObserver<>();
private CompletableFuture<ScaleResponse> startScaleInternal(final Stream stream, final List<Long> sealedSegments, final Map<Double, Double> newKeyRanges, String method, long requestId) { Preconditions.checkNotNull(stream, "stream"); Preconditions.checkNotNull(sealedSegments, "sealedSegments"); Preconditions.checkNotNull(newKeyRanges, "newKeyRanges"); final CompletableFuture<ScaleResponse> result = this.retryConfig.runAsync(() -> { RPCAsyncCallback<ScaleResponse> callback = new RPCAsyncCallback<>(requestId, method); long scaleTimestamp = System.currentTimeMillis(); new ControllerClientTagger(client) .withTag(requestId, method, stream.getScope(), stream.getStreamName(), String.valueOf(scaleTimestamp)) .scale(ScaleRequest.newBuilder() .setStreamInfo(ModelHelper.createStreamInfo(stream.getScope(), stream.getStreamName())) .addAllSealedSegments(sealedSegments) .addAllNewKeyRanges(newKeyRanges.entrySet().stream() .map(x -> ScaleRequest.KeyRangeEntry.newBuilder() .setStart(x.getKey()).setEnd(x.getValue()).build()) .collect(Collectors.toList())) .setScaleTimestamp(scaleTimestamp) .build(), callback); return callback.getFuture(); }, this.executor); return result; }