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; }
@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry)) { return super.equals(obj); } io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry other = (io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry) obj; boolean result = true; result = result && ( java.lang.Double.doubleToLongBits(getStart()) == java.lang.Double.doubleToLongBits( other.getStart())); result = result && ( java.lang.Double.doubleToLongBits(getEnd()) == java.lang.Double.doubleToLongBits( other.getEnd())); result = result && unknownFields.equals(other.unknownFields); return result; }
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.ScaleRequest.KeyRangeEntry newKeyRanges = 3;</code> */ public io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.Builder addNewKeyRangesBuilder( int index) { return getNewKeyRangesFieldBuilder().addBuilder( index, io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.getDefaultInstance()); } /**
break; default: { if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable();
.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<>();
@Override public void scale(ScaleRequest request, StreamObserver<ScaleResponse> responseObserver) { RequestTag requestTag = requestTracker.initializeAndTrackRequestTag(requestIdGenerator.get(), "scaleStream", request.getStreamInfo().getScope(), request.getStreamInfo().getStream(), String.valueOf(request.getScaleTimestamp())); log.info(requestTag.getRequestId(), "scale called for stream {}/{}.", request.getStreamInfo().getScope(), request.getStreamInfo().getStream()); authenticateExecuteAndProcessResults(() -> this.authHelper.checkAuthorization(request.getStreamInfo().getScope() + "/" + request.getStreamInfo().getStream(), AuthHandler.Permissions.READ_UPDATE), delegationToken -> controllerService.scale(request.getStreamInfo().getScope(), request.getStreamInfo().getStream(), request.getSealedSegmentsList(), request.getNewKeyRangesList().stream().collect(Collectors.toMap( entry -> entry.getStart(), entry -> entry.getEnd())), request.getScaleTimestamp()), responseObserver); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
@java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + START_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getStart())); hash = (37 * hash) + END_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getEnd())); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; }
public io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry getDefaultInstanceForType() { return io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.getDefaultInstance(); }
public io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry buildPartial() { io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry result = new io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry(this); result.start_ = start_; result.end_ = end_; onBuilt(); return result; }
public io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry build() { io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }
public Builder mergeFrom(io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry other) { if (other == io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.getDefaultInstance()) return this; if (other.getStart() != 0D) { setStart(other.getStart()); } if (other.getEnd() != 0D) { setEnd(other.getEnd()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
/** * <code>repeated .io.pravega.controller.stream.api.grpc.v1.ScaleRequest.KeyRangeEntry newKeyRanges = 3;</code> */ public io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.Builder addNewKeyRangesBuilder() { return getNewKeyRangesFieldBuilder().addBuilder( io.pravega.controller.stream.api.grpc.v1.Controller.ScaleRequest.KeyRangeEntry.getDefaultInstance()); } /**