This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git


The following commit(s) were added to refs/heads/master by this push:
     new 5b1688e  SCB-856 Add onTccCoordinated grpc method for alpha server.
5b1688e is described below

commit 5b1688e3fcdef474898c80974dd942480288b8af
Author: cherrylzhao <zhaoju...@126.com>
AuthorDate: Wed Aug 29 11:48:15 2018 +0800

    SCB-856 Add onTccCoordinated grpc method for alpha server.
---
 .../saga/alpha/server/tcc/GrpcTccEventService.java       | 11 +++++++++++
 .../saga/alpha/tcc/server/AlphaTccServerTest.java        | 16 ++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git 
a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/GrpcTccEventService.java
 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/GrpcTccEventService.java
index e3b89b9..0eaf956 100644
--- 
a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/GrpcTccEventService.java
+++ 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/GrpcTccEventService.java
@@ -27,6 +27,7 @@ import 
org.apache.servicecomb.saga.alpha.server.tcc.registry.TransactionEventReg
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcAck;
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcServiceConfig;
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccCoordinateCommand;
+import org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccCoordinatedEvent;
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccParticipatedEvent;
 import 
org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccTransactionEndedEvent;
 import 
org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccTransactionStartedEvent;
@@ -78,6 +79,16 @@ public class GrpcTccEventService extends 
TccEventServiceGrpc.TccEventServiceImpl
     responseObserver.onNext(tccCallbackEngine.execute(request) ? ALLOW : 
REJECT);
     responseObserver.onCompleted();
   }
+
+  @Override
+  public void onTccCoordinated(GrpcTccCoordinatedEvent request, 
StreamObserver<GrpcAck> responseObserver) {
+    LOG.info("Received coordinated event, global tx: {}, local tx: {}, parent 
id: {}, "
+            + "method: {}, status: {}, service [{}] instanceId [{}]",
+        request.getGlobalTxId(), request.getLocalTxId(), 
request.getParentTxId(),
+        request.getMethodName(), request.getStatus(), 
request.getServiceName(), request.getInstanceId());
+    responseObserver.onNext(ALLOW);
+    responseObserver.onCompleted();
+  }
   
   @Override
   public void onDisconnected(GrpcServiceConfig request, 
StreamObserver<GrpcAck> responseObserver) {
diff --git 
a/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/tcc/server/AlphaTccServerTest.java
 
b/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/tcc/server/AlphaTccServerTest.java
index 2e6e1f2..6859714 100644
--- 
a/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/tcc/server/AlphaTccServerTest.java
+++ 
b/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/tcc/server/AlphaTccServerTest.java
@@ -38,6 +38,7 @@ import org.apache.servicecomb.saga.common.TransactionStatus;
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcAck;
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcServiceConfig;
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccCoordinateCommand;
+import org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccCoordinatedEvent;
 import org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccParticipatedEvent;
 import 
org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccTransactionEndedEvent;
 import 
org.apache.servicecomb.saga.pack.contract.grpc.GrpcTccTransactionStartedEvent;
@@ -157,6 +158,9 @@ public class AlphaTccServerTest {
     assertThat(command.getMethod(), is("confirm"));
     assertThat(command.getGlobalTxId(), is(globalTxId));
     assertThat(command.getServiceName(), is(serviceName));
+
+    GrpcAck result = 
blockingStub.onTccCoordinated(newCoordinatedEvent("Succeed", "Confirm"));
+    assertThat(result.getAborted(), is(false));
   }
 
   @Test
@@ -256,6 +260,18 @@ public class AlphaTccServerTest {
         .build();
   }
 
+  private GrpcTccCoordinatedEvent newCoordinatedEvent(String status, String 
method) {
+    return GrpcTccCoordinatedEvent.newBuilder()
+        .setGlobalTxId(globalTxId)
+        .setLocalTxId(localTxId)
+        .setServiceName(serviceName)
+        .setInstanceId(instanceId)
+        .setMethodName(method)
+        .setStatus(status)
+        .build();
+  }
+
+
   private GrpcAck onReceivedCoordinateCommand(GrpcTccCoordinateCommand 
command) {
     return GrpcAck.newBuilder().setAborted(false).build();
   }

Reply via email to