public Builder mergeFrom(io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse other) { if (other == io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse.getDefaultInstance()) return this; if (other.hasTxnId()) { mergeTxnId(other.getTxnId()); if (!other.getDelegationToken().isEmpty()) { delegationToken_ = other.delegationToken_; onChanged();
@java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasTxnId()) { hash = (37 * hash) + TXNID_FIELD_NUMBER; hash = (53 * hash) + getTxnId().hashCode(); } if (getActiveSegmentsCount() > 0) { hash = (37 * hash) + ACTIVESEGMENTS_FIELD_NUMBER; hash = (53 * hash) + getActiveSegmentsList().hashCode(); } hash = (37 * hash) + DELEGATIONTOKEN_FIELD_NUMBER; hash = (53 * hash) + getDelegationToken().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; }
public io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse buildPartial() { io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse result = new io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (txnIdBuilder_ == null) { result.txnId_ = txnId_; } else { result.txnId_ = txnIdBuilder_.build(); } if (activeSegmentsBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002)) { activeSegments_ = java.util.Collections.unmodifiableList(activeSegments_); bitField0_ = (bitField0_ & ~0x00000002); } result.activeSegments_ = activeSegments_; } else { result.activeSegments_ = activeSegmentsBuilder_.build(); } result.delegationToken_ = delegationToken_; result.bitField0_ = to_bitField0_; onBuilt(); return result; }
@io.grpc.stub.annotations.RpcMethod( fullMethodName = SERVICE_NAME + '/' + "createTransaction", requestType = io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnRequest.class, responseType = io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) public static io.grpc.MethodDescriptor<io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnRequest, io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse> getCreateTransactionMethod() { io.grpc.MethodDescriptor<io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnRequest, io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse> getCreateTransactionMethod; if ((getCreateTransactionMethod = ControllerServiceGrpc.getCreateTransactionMethod) == null) { synchronized (ControllerServiceGrpc.class) { if ((getCreateTransactionMethod = ControllerServiceGrpc.getCreateTransactionMethod) == null) { ControllerServiceGrpc.getCreateTransactionMethod = getCreateTransactionMethod = io.grpc.MethodDescriptor.<io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnRequest, io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse>newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName(generateFullMethodName( "io.pravega.controller.stream.api.grpc.v1.ControllerService", "createTransaction")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnRequest.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse.getDefaultInstance())) .setSchemaDescriptor(new ControllerServiceMethodDescriptorSupplier("createTransaction")) .build(); } } } return getCreateTransactionMethod; }
@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.CreateTxnResponse)) { return super.equals(obj); } io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse other = (io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse) obj; boolean result = true; result = result && (hasTxnId() == other.hasTxnId()); if (hasTxnId()) { result = result && getTxnId() .equals(other.getTxnId()); } result = result && getActiveSegmentsList() .equals(other.getActiveSegmentsList()); result = result && getDelegationToken() .equals(other.getDelegationToken()); result = result && unknownFields.equals(other.unknownFields); return result; }
public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (txnId_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getTxnId()); } for (int i = 0; i < activeSegments_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, activeSegments_.get(i)); } if (!getDelegationTokenBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, delegationToken_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; }
@Override public void createTransaction(CreateTxnRequest request, StreamObserver<Controller.CreateTxnResponse> responseObserver) { Controller.CreateTxnResponse.Builder builder = Controller.CreateTxnResponse.newBuilder(); if (request.getStreamInfo().getStream().equals("stream1")) { builder.setTxnId(TxnId.newBuilder().setHighBits(11L).setLowBits(22L).build()); builder.addActiveSegments(ModelHelper.createSegmentRange("scope1", "stream1", 0, 0.0, 0.5)); builder.addActiveSegments(ModelHelper.createSegmentRange("scope1", "stream1", 1, 0.5, 1.0)); responseObserver.onNext(builder.build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream2")) { builder.addActiveSegments(ModelHelper.createSegmentRange("scope1", "stream2", 0, 0.0, 1.0)); builder.setTxnId(TxnId.newBuilder().setHighBits(33L).setLowBits(44L).build()); responseObserver.onNext(builder.build()); responseObserver.onCompleted(); } else { responseObserver.onError(Status.INTERNAL.withDescription("Server error").asRuntimeException()); } }
@Override public void createTransaction(CreateTxnRequest request, StreamObserver<Controller.CreateTxnResponse> responseObserver) { log.info("createTransaction called for stream {}/{}.", request.getStreamInfo().getScope(), request.getStreamInfo().getStream()); authenticateExecuteAndProcessResults(() -> this.authHelper.checkAuthorizationAndCreateToken(request.getStreamInfo().getScope() + "/" + request.getStreamInfo().getStream(), AuthHandler.Permissions.READ_UPDATE), delegationToken -> controllerService.createTransaction(request.getStreamInfo().getScope(), request.getStreamInfo().getStream(), request.getLease()) .thenApply(pair -> Controller.CreateTxnResponse.newBuilder() .setDelegationToken(delegationToken) .setTxnId(ModelHelper.decode(pair.getKey())) .addAllActiveSegments(pair.getValue()) .build()), responseObserver); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
public io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse getDefaultInstanceForType() { return io.pravega.controller.stream.api.grpc.v1.Controller.CreateTxnResponse.getDefaultInstance(); }
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (txnId_ != null) { output.writeMessage(1, getTxnId()); } for (int i = 0; i < activeSegments_.size(); i++) { output.writeMessage(2, activeSegments_.get(i)); } if (!getDelegationTokenBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, delegationToken_); } unknownFields.writeTo(output); }
@Test public void transactionTests() { createScopeAndStream(SCOPE1, STREAM1, ScalingPolicy.fixed(4)); Controller.TxnId txnId1 = createTransaction(SCOPE1, STREAM1, 10000).getTxnId(); Controller.TxnId txnId2 = createTransaction(SCOPE1, STREAM1, 10000).getTxnId(); // Abort first txn. Controller.TxnStatus status = closeTransaction(SCOPE1, STREAM1, txnId1, true); Assert.assertEquals(Controller.TxnStatus.Status.SUCCESS, status.getStatus()); // Commit second txn. status = closeTransaction(SCOPE1, STREAM1, txnId2, false); Assert.assertEquals(Controller.TxnStatus.Status.SUCCESS, status.getStatus()); }
@Test public void createTransactionSuccessTest() { int segmentsCount = 4; createScopeAndStream(SCOPE1, STREAM1, ScalingPolicy.fixed(segmentsCount)); Controller.CreateTxnResponse response = createTransaction(SCOPE1, STREAM1, 10000); assertEquals(segmentsCount, response.getActiveSegmentsCount()); }
/** * <code>.io.pravega.controller.stream.api.grpc.v1.TxnId txnId = 1;</code> */ public io.pravega.controller.stream.api.grpc.v1.Controller.TxnIdOrBuilder getTxnIdOrBuilder() { return getTxnId(); }
private TxnSegments convert(CreateTxnResponse response) { NavigableMap<Double, SegmentWithRange> rangeMap = new TreeMap<>(); for (SegmentRange r : response.getActiveSegmentsList()) { Preconditions.checkState(r.getMinKey() <= r.getMaxKey()); rangeMap.put(r.getMaxKey(), new SegmentWithRange(ModelHelper.encode(r.getSegmentId()), r.getMinKey(), r.getMaxKey())); } StreamSegments segments = new StreamSegments(rangeMap, response.getDelegationToken()); return new TxnSegments(segments, ModelHelper.encode(response.getTxnId())); }
/** * <code>string delegationToken = 3;</code> */ public Builder clearDelegationToken() { delegationToken_ = getDefaultInstance().getDelegationToken(); onChanged(); return this; } /**