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

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

commit e932061164ff07d39f613ceab5b7e3887638cc75
Author: Eric Lee <dagang...@huawei.com>
AuthorDate: Mon Jan 15 10:40:24 2018 +0800

    SCB-227 proper namings for aborted status
    
    Signed-off-by: Eric Lee <dagang...@huawei.com>
---
 .../saga/alpha/core/TxConsistentService.java          |  6 +-----
 .../saga/alpha/server/GrpcTxEventEndpointImpl.java    |  4 ++--
 .../saga/alpha/server/AlphaIntegrationTest.java       |  2 +-
 .../omega/connector/grpc/GrpcClientMessageSender.java |  5 +++--
 .../grpc/LoadBalancedClusterMessageSender.java        |  9 +++++----
 .../grpc/LoadBalancedClusterMessageSenderTest.java    |  8 ++++----
 .../spring/TransactionInterceptionTest.java           |  6 +++++-
 .../{MessageSender.java => AlphaResponse.java}        | 19 ++++++-------------
 .../omega/transaction/CompensableInterceptor.java     |  2 +-
 .../saga/omega/transaction/EventAwareInterceptor.java |  6 +++---
 .../saga/omega/transaction/MessageSender.java         |  4 ++--
 .../transaction/SagaStartAnnotationProcessor.java     |  2 +-
 .../saga/omega/transaction/TimeAwareInterceptor.java  |  2 +-
 .../saga/omega/transaction/TransactionAspect.java     |  9 +++++----
 .../omega/transaction/CompensableInterceptorTest.java |  5 ++++-
 .../transaction/CompensationMessageHandlerTest.java   |  5 ++++-
 .../transaction/SagaStartAnnotationProcessorTest.java |  5 ++++-
 .../saga/omega/transaction/SagaStartAspectTest.java   |  5 ++++-
 .../omega/transaction/TimeAwareInterceptorTest.java   |  4 ++--
 .../saga/omega/transaction/TransactionAspectTest.java | 12 +++++++++---
 .../src/main/proto/GrpcTxEvent.proto                  |  2 +-
 21 files changed, 68 insertions(+), 54 deletions(-)

diff --git 
a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java
 
b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java
index c9544ca..fa93752 100644
--- 
a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java
+++ 
b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java
@@ -55,7 +55,7 @@ public class TxConsistentService {
   }
 
   public boolean handle(TxEvent event) {
-    if (isInvalidTxStarted(event)) {
+    if (TxStartedEvent.name().equals(event.type()) && 
isGlobalTxAborted(event)) {
       return false;
     }
 
@@ -106,8 +106,4 @@ public class TxConsistentService {
   private boolean isTxEndedEvent(TxEvent event) {
     return TxEndedEvent.name().equals(event.type());
   }
-
-  private boolean isInvalidTxStarted(TxEvent event) {
-    return TxStartedEvent.name().equals(event.type()) && 
isGlobalTxAborted(event);
-  }
 }
diff --git 
a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcTxEventEndpointImpl.java
 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcTxEventEndpointImpl.java
index 6ca26ee..65d3e90 100644
--- 
a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcTxEventEndpointImpl.java
+++ 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/GrpcTxEventEndpointImpl.java
@@ -39,8 +39,8 @@ import io.grpc.stub.StreamObserver;
 
 class GrpcTxEventEndpointImpl extends TxEventServiceImplBase {
 
-  private static final GrpcAck ALLOW = 
GrpcAck.newBuilder().setValid(true).build();
-  private static final GrpcAck REJECT = 
GrpcAck.newBuilder().setValid(false).build();
+  private static final GrpcAck ALLOW = 
GrpcAck.newBuilder().setAborted(false).build();
+  private static final GrpcAck REJECT = 
GrpcAck.newBuilder().setAborted(true).build();
 
   private final TxConsistentService txConsistentService;
 
diff --git 
a/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java
 
b/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java
index eb857d1..6cf1893 100644
--- 
a/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java
+++ 
b/alpha/alpha-server/src/test/java/org/apache/servicecomb/saga/alpha/server/AlphaIntegrationTest.java
@@ -266,7 +266,7 @@ public class AlphaIntegrationTest {
     GrpcAck result = blockingStub
         .onTxEvent(eventOf(TxStartedEvent, localTxId1, parentTxId1, "service 
b".getBytes(), "method b"));
 
-    assertThat(result.getValid(), is(false));
+    assertThat(result.getAborted(), is(true));
   }
 
   private GrpcServiceConfig someServiceConfig() {
diff --git 
a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java
 
b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java
index 70870bc..4af0773 100644
--- 
a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java
+++ 
b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java
@@ -23,6 +23,7 @@ package org.apache.servicecomb.saga.omega.connector.grpc;
 import java.util.function.Function;
 
 import org.apache.servicecomb.saga.omega.context.ServiceConfig;
+import org.apache.servicecomb.saga.omega.transaction.AlphaResponse;
 import org.apache.servicecomb.saga.omega.transaction.MessageDeserializer;
 import org.apache.servicecomb.saga.omega.transaction.MessageHandler;
 import org.apache.servicecomb.saga.omega.transaction.MessageSender;
@@ -84,9 +85,9 @@ public class GrpcClientMessageSender implements MessageSender 
{
   }
 
   @Override
-  public boolean send(TxEvent event) {
+  public AlphaResponse send(TxEvent event) {
     GrpcAck grpcAck = blockingEventService.onTxEvent(convertEvent(event));
-    return grpcAck.getValid();
+    return new AlphaResponse(grpcAck.getAborted());
   }
 
   private GrpcTxEvent convertEvent(TxEvent event) {
diff --git 
a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSender.java
 
b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSender.java
index 1eb6f7b..635ac5e 100644
--- 
a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSender.java
+++ 
b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSender.java
@@ -34,6 +34,7 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.function.Function;
 
 import org.apache.servicecomb.saga.omega.context.ServiceConfig;
+import org.apache.servicecomb.saga.omega.transaction.AlphaResponse;
 import org.apache.servicecomb.saga.omega.transaction.MessageDeserializer;
 import org.apache.servicecomb.saga.omega.transaction.MessageHandler;
 import org.apache.servicecomb.saga.omega.transaction.MessageSender;
@@ -124,15 +125,15 @@ public class LoadBalancedClusterMessageSender implements 
MessageSender {
   }
 
   @Override
-  public boolean send(TxEvent event) {
-    boolean result = false;
+  public AlphaResponse send(TxEvent event) {
+    AlphaResponse response = new AlphaResponse(false);
     boolean success = false;
     do {
       MessageSender messageSender = fastestSender();
 
       try {
         long startTime = System.nanoTime();
-        result = messageSender.send(event);
+        response = messageSender.send(event);
         senders.put(messageSender, System.nanoTime() - startTime);
 
         success = true;
@@ -144,7 +145,7 @@ public class LoadBalancedClusterMessageSender implements 
MessageSender {
       }
     } while (!success && !Thread.currentThread().isInterrupted());
 
-    return result;
+    return response;
   }
 
   private MessageSender fastestSender() {
diff --git 
a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java
 
b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java
index 6c9fdcd..c9549cf 100644
--- 
a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java
+++ 
b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java
@@ -296,10 +296,10 @@ public class LoadBalancedClusterMessageSenderTest {
 
   @Test
   public void forwardSendResult() {
-    assertThat(messageSender.send(event), is(true));
+    assertThat(messageSender.send(event).aborted(), is(false));
 
     TxEvent rejectEvent = new TxStartedEvent(globalTxId, localTxId, 
parentTxId, "reject", "blah");
-    assertThat(messageSender.send(rejectEvent), is(false));
+    assertThat(messageSender.send(rejectEvent).aborted(), is(true));
   }
 
   private int killServerReceivedMessage() {
@@ -351,9 +351,9 @@ public class LoadBalancedClusterMessageSenderTest {
       }
 
       if ("TxStartedEvent".equals(request.getType()) && 
request.getCompensationMethod().equals("reject")) {
-        responseObserver.onNext(GrpcAck.newBuilder().setValid(false).build());
+        responseObserver.onNext(GrpcAck.newBuilder().setAborted(true).build());
       } else {
-        responseObserver.onNext(GrpcAck.newBuilder().setValid(true).build());
+        
responseObserver.onNext(GrpcAck.newBuilder().setAborted(false).build());
       }
 
       responseObserver.onCompleted();
diff --git 
a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java
 
b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java
index c30953f..7daf954 100644
--- 
a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java
+++ 
b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java
@@ -39,6 +39,7 @@ import java.util.concurrent.ScheduledExecutorService;
 import org.apache.servicecomb.saga.omega.context.CompensationContext;
 import org.apache.servicecomb.saga.omega.context.IdGenerator;
 import org.apache.servicecomb.saga.omega.context.OmegaContext;
+import org.apache.servicecomb.saga.omega.transaction.AlphaResponse;
 import org.apache.servicecomb.saga.omega.transaction.MessageHandler;
 import org.apache.servicecomb.saga.omega.transaction.MessageSender;
 import org.apache.servicecomb.saga.omega.transaction.TxAbortedEvent;
@@ -310,7 +311,10 @@ public class TransactionInterceptionTest {
 
     @Bean
     MessageSender sender() {
-      return (event) -> messages.add(event.toString());
+      return (event) -> {
+        messages.add(event.toString());
+        return new AlphaResponse(false);
+      };
     }
   }
 }
diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/MessageSender.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/AlphaResponse.java
similarity index 76%
copy from 
omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/MessageSender.java
copy to 
omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/AlphaResponse.java
index 86cacc2..07df793 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/MessageSender.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/AlphaResponse.java
@@ -17,21 +17,14 @@
 
 package org.apache.servicecomb.saga.omega.transaction;
 
-public interface MessageSender {
-  MessageSender NO_OP_SENDER = event -> true;
+public class AlphaResponse {
+  private final boolean aborted;
 
-  default void onConnected() {
+  public AlphaResponse(boolean aborted) {
+    this.aborted = aborted;
   }
 
-  default void onDisconnected() {
+  public boolean aborted() {
+    return aborted;
   }
-
-  default void close() {
-  }
-
-  default String target() {
-    return "UNKNOWN";
-  }
-
-  boolean send(TxEvent event);
 }
diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptor.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptor.java
index e24b92c..074a5ec 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptor.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptor.java
@@ -29,7 +29,7 @@ class CompensableInterceptor implements EventAwareInterceptor 
{
   }
 
   @Override
-  public boolean preIntercept(String parentTxId, String compensationMethod, 
Object... message) {
+  public AlphaResponse preIntercept(String parentTxId, String 
compensationMethod, Object... message) {
     return sender
         .send(new TxStartedEvent(context.globalTxId(), context.localTxId(), 
parentTxId, compensationMethod, message));
   }
diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/EventAwareInterceptor.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/EventAwareInterceptor.java
index 2263b38..5f8165f 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/EventAwareInterceptor.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/EventAwareInterceptor.java
@@ -20,8 +20,8 @@ package org.apache.servicecomb.saga.omega.transaction;
 public interface EventAwareInterceptor {
   EventAwareInterceptor NO_OP_INTERCEPTOR = new EventAwareInterceptor() {
     @Override
-    public boolean preIntercept(String parentTxId, String compensationMethod, 
Object... message) {
-      return true;
+    public AlphaResponse preIntercept(String parentTxId, String 
compensationMethod, Object... message) {
+      return new AlphaResponse(false);
     }
 
     @Override
@@ -33,7 +33,7 @@ public interface EventAwareInterceptor {
     }
   };
 
-  boolean preIntercept(String parentTxId, String compensationMethod, Object... 
message);
+  AlphaResponse preIntercept(String parentTxId, String compensationMethod, 
Object... message);
 
   void postIntercept(String parentTxId, String compensationMethod);
 
diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/MessageSender.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/MessageSender.java
index 86cacc2..5271b82 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/MessageSender.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/MessageSender.java
@@ -18,7 +18,7 @@
 package org.apache.servicecomb.saga.omega.transaction;
 
 public interface MessageSender {
-  MessageSender NO_OP_SENDER = event -> true;
+  MessageSender NO_OP_SENDER = event -> new AlphaResponse(false);
 
   default void onConnected() {
   }
@@ -33,5 +33,5 @@ public interface MessageSender {
     return "UNKNOWN";
   }
 
-  boolean send(TxEvent event);
+  AlphaResponse send(TxEvent event);
 }
diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessor.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessor.java
index b6ef898..7299b25 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessor.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessor.java
@@ -30,7 +30,7 @@ class SagaStartAnnotationProcessor implements 
EventAwareInterceptor {
   }
 
   @Override
-  public boolean preIntercept(String parentTxId, String compensationMethod, 
Object... message) {
+  public AlphaResponse preIntercept(String parentTxId, String 
compensationMethod, Object... message) {
     return sender.send(new SagaStartedEvent(omegaContext.globalTxId(), 
omegaContext.localTxId()));
   }
 
diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptor.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptor.java
index ee00565..ca14551 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptor.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptor.java
@@ -29,7 +29,7 @@ class TimeAwareInterceptor implements EventAwareInterceptor {
   }
 
   @Override
-  public boolean preIntercept(String parentTxId, String signature, Object... 
args) {
+  public AlphaResponse preIntercept(String parentTxId, String signature, 
Object... args) {
     return interceptor.preIntercept(parentTxId, signature, args);
   }
 
diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspect.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspect.java
index e506899..c57ee0e 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspect.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspect.java
@@ -57,11 +57,12 @@ public class TransactionAspect {
     context.newLocalTxId();
 
     TimeAwareInterceptor interceptor = new 
TimeAwareInterceptor(this.interceptor);
-    boolean ok = interceptor.preIntercept(localTxId, signature, 
joinPoint.getArgs());
-    if (!ok) {
-      LOG.info("Skipped transaction {} due to abort.", context.globalTxId());
+    AlphaResponse response = interceptor.preIntercept(localTxId, signature, 
joinPoint.getArgs());
+    if (response.aborted()) {
+      String abortedLocalTxId = context.localTxId();
       context.setLocalTxId(localTxId);
-      return null;
+      throw new IllegalStateException("Abort local sub transaction " + 
abortedLocalTxId +
+          " due to global transaction " + context.globalTxId() + " has already 
aborted.");
     }
     LOG.debug("Updated context {} for compensable method {} ", context, 
method.toString());
 
diff --git 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java
 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java
index d4bfef6..21af7e6 100644
--- 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java
+++ 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java
@@ -41,7 +41,10 @@ public class CompensableInterceptorTest {
   private final String localTxId = UUID.randomUUID().toString();
   private final String parentTxId = UUID.randomUUID().toString();
 
-  private final MessageSender sender = messages::add;
+  private final MessageSender sender = e -> {
+    messages.add(e);
+    return new AlphaResponse(false);
+  };
 
   private final String message = uniquify("message");
   private final String compensationMethod = getClass().getCanonicalName();
diff --git 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java
 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java
index bc126ae..0b33d4b 100644
--- 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java
+++ 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java
@@ -33,7 +33,10 @@ import org.junit.Test;
 public class CompensationMessageHandlerTest {
 
   private final List<TxEvent> events = new ArrayList<>();
-  private final MessageSender sender = events::add;
+  private final MessageSender sender = e -> {
+    events.add(e);
+    return new AlphaResponse(false);
+  };
 
   private final String globalTxId = uniquify("globalTxId");
   private final String localTxId = uniquify("localTxId");
diff --git 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java
 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java
index c146f5b..f8e936d 100644
--- 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java
+++ 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java
@@ -36,7 +36,10 @@ public class SagaStartAnnotationProcessorTest {
 
   private final List<TxEvent> messages = new ArrayList<>();
 
-  private final MessageSender sender = messages::add;
+  private final MessageSender sender = e -> {
+    messages.add(e);
+    return new AlphaResponse(false);
+  };
 
   private final String globalTxId = UUID.randomUUID().toString();
 
diff --git 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java
 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java
index 6d2e1a6..7316161 100644
--- 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java
+++ 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java
@@ -47,7 +47,10 @@ public class SagaStartAspectTest {
   private final List<TxEvent> messages = new ArrayList<>();
   private final String globalTxId = UUID.randomUUID().toString();
 
-  private final MessageSender sender = messages::add;
+  private final MessageSender sender = e -> {
+    messages.add(e);
+    return new AlphaResponse(false);
+  };
   private final ProceedingJoinPoint joinPoint = 
Mockito.mock(ProceedingJoinPoint.class);
   private final MethodSignature methodSignature = 
Mockito.mock(MethodSignature.class);
 
diff --git 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptorTest.java
 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptorTest.java
index 9e4055f..9ff0214 100644
--- 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptorTest.java
+++ 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TimeAwareInterceptorTest.java
@@ -45,8 +45,8 @@ public class TimeAwareInterceptorTest {
 
   private final EventAwareInterceptor underlying = new EventAwareInterceptor() 
{
     @Override
-    public boolean preIntercept(String parentTxId, String compensationMethod, 
Object... message) {
-      return true;
+    public AlphaResponse preIntercept(String parentTxId, String 
compensationMethod, Object... message) {
+      return new AlphaResponse(false);
     }
 
     @Override
diff --git 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java
 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java
index 8f7c73a..0d8fcd2 100644
--- 
a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java
+++ 
b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java
@@ -52,7 +52,10 @@ public class TransactionAspectTest {
 
   private final String newLocalTxId = UUID.randomUUID().toString();
 
-  private final MessageSender sender = messages::add;
+  private final MessageSender sender = e -> {
+    messages.add(e);
+    return new AlphaResponse(false);
+  };
   private final ProceedingJoinPoint joinPoint = 
mock(ProceedingJoinPoint.class);
   private final MethodSignature methodSignature = mock(MethodSignature.class);
 
@@ -166,13 +169,16 @@ public class TransactionAspectTest {
   @Test
   public void returnImmediatelyWhenReceivedRejectResponse() {
     MessageSender sender = mock(MessageSender.class);
-    when(sender.send(any())).thenReturn(false);
+    when(sender.send(any())).thenReturn(new AlphaResponse(true));
 
     TransactionAspect aspect = new TransactionAspect(sender, omegaContext);
     try {
       aspect.advise(joinPoint, compensable);
+      expectFailing(IllegalStateException.class);
+    } catch (IllegalStateException e) {
+      assertThat(e.getMessage().contains("Abort local sub transaction"), 
is(true));
     } catch (Throwable throwable) {
-      fail("Unexpected exception: " + throwable.getMessage());
+      expectFailing(IllegalStateException.class);
     }
 
     verify(sender, times(1)).send(any());
diff --git a/pack-contracts/pack-contract-grpc/src/main/proto/GrpcTxEvent.proto 
b/pack-contracts/pack-contract-grpc/src/main/proto/GrpcTxEvent.proto
index 405edff..2636881 100644
--- a/pack-contracts/pack-contract-grpc/src/main/proto/GrpcTxEvent.proto
+++ b/pack-contracts/pack-contract-grpc/src/main/proto/GrpcTxEvent.proto
@@ -33,7 +33,7 @@ message GrpcServiceConfig {
 }
 
 message GrpcAck {
-  bool valid = 1;
+  bool aborted = 1;
 }
 
 message GrpcTxEvent {

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <commits@servicecomb.apache.org>.

Reply via email to