You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2018/09/12 10:54:33 UTC
[incubator-servicecomb-saga] branch master updated: SCB-819 Fixed
the accept test error of tcc demo
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 a0f1bbf SCB-819 Fixed the accept test error of tcc demo
a0f1bbf is described below
commit a0f1bbf7f40e489b8205117cacba6d2f2afecf5a
Author: Willem Jiang <ji...@huawei.com>
AuthorDate: Wed Sep 12 18:54:22 2018 +0800
SCB-819 Fixed the accept test error of tcc demo
---
.../server/tcc/DefaultTransactionEventService.java | 19 +++++++++----------
.../saga/alpha/server/tcc/GrpcTccEventService.java | 2 ++
.../alpha/server/tcc/callback/TccCallbackEngine.java | 5 ++++-
3 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/DefaultTransactionEventService.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/DefaultTransactionEventService.java
index 64bf8fd..9f119f4 100644
--- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/DefaultTransactionEventService.java
+++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/DefaultTransactionEventService.java
@@ -48,17 +48,16 @@ public final class DefaultTransactionEventService implements TransactionEventSer
@Override
public boolean addEvent(ParticipatedEvent participatedEvent) {
- if (TransactionStatus.Succeed.equals(participatedEvent.getStatus())) {
- REGISTRY
- .computeIfAbsent(participatedEvent.getGlobalTxId(), key -> new LinkedHashSet<>())
- .add(participatedEvent);
+ REGISTRY
+ .computeIfAbsent(participatedEvent.getGlobalTxId(), key -> new LinkedHashSet<>())
+ .add(participatedEvent);
+
+ LOG.info("Registered participated event, global tx: {}, local tx: {}, parent id: {}, "
+ + "confirm: {}, cancel: {}, status: {}, service [{}] instanceId [{}]",
+ participatedEvent.getGlobalTxId(), participatedEvent.getLocalTxId(), participatedEvent.getParentTxId(),
+ participatedEvent.getConfirmMethod(), participatedEvent.getCancelMethod(), participatedEvent.getStatus(),
+ participatedEvent.getServiceName(), participatedEvent.getInstanceId());
- LOG.info("Registered participated event, global tx: {}, local tx: {}, parent id: {}, "
- + "confirm: {}, cancel: {}, status: {}, service [{}] instanceId [{}]",
- participatedEvent.getGlobalTxId(), participatedEvent.getLocalTxId(), participatedEvent.getParentTxId(),
- participatedEvent.getConfirmMethod(), participatedEvent.getCancelMethod(), participatedEvent.getStatus(),
- participatedEvent.getServiceName(), participatedEvent.getInstanceId());
- }
// TODO We need to updated the event which transactionStatus is failed.
return true;
}
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 323d58a..d3dad67 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
@@ -70,6 +70,8 @@ public class GrpcTccEventService extends TccEventServiceGrpc.TccEventServiceImpl
@Override
public void participate(GrpcTccParticipatedEvent request, StreamObserver<GrpcAck> responseObserver) {
+ LOG.info("Received participated event from service {} , global tx id: {}, local tx id: {}", request.getServiceName(),
+ request.getGlobalTxId(), request.getLocalTxId()) ;
boolean ok = transactionEventService.addEvent(ParticipatedEventFactory.create(request));
responseObserver.onNext(ok ? ALLOW : REJECT);
responseObserver.onCompleted();
diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/callback/TccCallbackEngine.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/callback/TccCallbackEngine.java
index 82c5ba6..9b6ca59 100644
--- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/callback/TccCallbackEngine.java
+++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/tcc/callback/TccCallbackEngine.java
@@ -45,7 +45,10 @@ public class TccCallbackEngine implements CallbackEngine {
boolean result = true;
for (ParticipatedEvent event : transactionEventService.getEventByGlobalTxId(request.getGlobalTxId())) {
try {
- omegaCallbackWrapper.invoke(event, TransactionStatus.valueOf(request.getStatus()));
+ // only invoke the event is succeed
+ if (event.getStatus().equals(TransactionStatus.Succeed.toString())) {
+ omegaCallbackWrapper.invoke(event, TransactionStatus.valueOf(request.getStatus()));
+ }
} catch (Exception ex) {
logError(event, ex);
result = false;