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 2020/01/09 14:27:02 UTC
[servicecomb-pack] 02/03: SCB-1707 Add prefix 'forward' to
parameter retries and timeout
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/servicecomb-pack.git
commit 2259476a3c27c26273d9fada491679bcbeb0628f
Author: Lei Zhang <zh...@apache.org>
AuthorDate: Wed Jan 8 10:13:24 2020 +0800
SCB-1707 Add prefix 'forward' to parameter retries and timeout
---
.../pack/alpha/core/fsm/event/TxStartedEvent.java | 14 ++++++------
.../pack/alpha/fsm/domain/AddTxEventDomain.java | 2 +-
.../pack/alpha/server/GrpcTxEventEndpointImpl.java | 4 ++--
.../alpha/server/fsm/GrpcSagaEventService.java | 4 ++--
.../pack/alpha/server/AlphaIntegrationTest.java | 6 +++---
.../server/AlphaIntegrationWithRandomPortTest.java | 6 +++---
.../alpha/server/fsm/OmegaEventSagaSimulator.java | 6 +++---
.../ExplicitTransactionContextIT.java | 25 ++++++++++------------
.../grpc/saga/GrpcSagaClientMessageSender.java | 8 ++-----
.../grpc/saga/SagaLoadBalancedSenderTestBase.java | 4 ++--
.../spring/TransactionInterceptionTest.java | 18 ++++++----------
.../omega/transaction/AbstractRecoveryPolicy.java | 8 +++----
.../omega/transaction/CompensableInterceptor.java | 4 ++--
.../omega/transaction/EventAwareInterceptor.java | 2 +-
.../pack/omega/transaction/ForwardRecovery.java | 10 ++++-----
.../transaction/NoOpEventAwareInterceptor.java | 2 +-
.../pack/omega/transaction/RecoveryPolicy.java | 2 +-
.../omega/transaction/RecoveryPolicyFactory.java | 4 ++--
.../pack/omega/transaction/TransactionAspect.java | 6 +++---
.../pack/omega/transaction/TxEvent.java | 12 +++++------
.../pack/omega/transaction/TxStartedEvent.java | 4 ++--
.../transaction/CompensableInterceptorTest.java | 6 +++---
.../omega/transaction/DefaultRecoveryTest.java | 6 +++---
.../src/main/proto/GrpcTxEvent.proto | 4 ++--
24 files changed, 77 insertions(+), 90 deletions(-)
diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/fsm/event/TxStartedEvent.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/fsm/event/TxStartedEvent.java
index 4b6a64b..96630d1 100644
--- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/fsm/event/TxStartedEvent.java
+++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/fsm/event/TxStartedEvent.java
@@ -24,7 +24,7 @@ public class TxStartedEvent extends TxEvent {
private String compensationMethod;
private byte[] payloads;
private String retryMethod;
- private int retries;
+ private int forwardRetries;
public String getCompensationMethod() {
return compensationMethod;
@@ -50,12 +50,12 @@ public class TxStartedEvent extends TxEvent {
this.retryMethod = retryMethod;
}
- public int getRetries() {
- return retries;
+ public int getForwardRetries() {
+ return forwardRetries;
}
- public void setRetries(int retries) {
- this.retries = retries;
+ public void setForwardRetries(int forwardRetries) {
+ this.forwardRetries = forwardRetries;
}
public static Builder builder() {
@@ -110,8 +110,8 @@ public class TxStartedEvent extends TxEvent {
return this;
}
- public Builder retries(int retries) {
- txStartedEvent.setRetries(retries);
+ public Builder forwardRetries(int forwardRetries) {
+ txStartedEvent.setForwardRetries(forwardRetries);
return this;
}
diff --git a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/AddTxEventDomain.java b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/AddTxEventDomain.java
index 0e410a3..17b0d86 100644
--- a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/AddTxEventDomain.java
+++ b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/AddTxEventDomain.java
@@ -32,7 +32,7 @@ public class AddTxEventDomain implements DomainEvent {
this.event = event;
this.compensationMethod = event.getCompensationMethod();
this.payloads = event.getPayloads();
- this.retries = event.getRetries();
+ this.retries = event.getForwardRetries();
}
public TxState getState() {
diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/GrpcTxEventEndpointImpl.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/GrpcTxEventEndpointImpl.java
index e04a494..5cf1c4a 100644
--- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/GrpcTxEventEndpointImpl.java
+++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/GrpcTxEventEndpointImpl.java
@@ -106,9 +106,9 @@ class GrpcTxEventEndpointImpl extends TxEventServiceImplBase {
message.getParentTxId().isEmpty() ? null : message.getParentTxId(),
message.getType(),
message.getCompensationMethod(),
- message.getTimeout(),
+ message.getForwardTimeout(),
message.getRetryMethod(),
- message.getRetries(),
+ message.getForwardRetries(),
message.getPayloads().toByteArray()
));
diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/GrpcSagaEventService.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/GrpcSagaEventService.java
index dac6f21..79dac46 100644
--- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/GrpcSagaEventService.java
+++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/GrpcSagaEventService.java
@@ -108,7 +108,7 @@ public class GrpcSagaEventService extends TxEventServiceImplBase {
.instanceId(message.getInstanceId())
.globalTxId(message.getGlobalTxId())
.createTime(new Date())
- .timeout(message.getTimeout()).build();
+ .timeout(message.getForwardTimeout()).build();
} else if (message.getType().equals(EventType.SagaEndedEvent.name())) {
event = org.apache.servicecomb.pack.alpha.core.fsm.event.SagaEndedEvent.builder()
.serviceName(message.getServiceName())
@@ -137,7 +137,7 @@ public class GrpcSagaEventService extends TxEventServiceImplBase {
.parentTxId(message.getParentTxId().isEmpty() ? null : message.getParentTxId())
.compensationMethod(message.getCompensationMethod())
.retryMethod(message.getRetryMethod())
- .retries(message.getRetries())
+ .forwardRetries(message.getForwardRetries())
.createTime(new Date())
.payloads(message.getPayloads().toByteArray()).build();
} else if (message.getType().equals(EventType.TxEndedEvent.name())) {
diff --git a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationTest.java b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationTest.java
index 09b268b..fabba6c 100644
--- a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationTest.java
+++ b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationTest.java
@@ -553,7 +553,7 @@ public class AlphaIntegrationTest {
String compensationMethod,
int timeout,
String retryMethod,
- int retries) {
+ int forwardRetries) {
return GrpcTxEvent.newBuilder()
.setServiceName(serviceName)
@@ -564,9 +564,9 @@ public class AlphaIntegrationTest {
.setParentTxId(parentTxId == null ? "" : parentTxId)
.setType(eventType.name())
.setCompensationMethod(compensationMethod)
- .setTimeout(timeout)
+ .setForwardTimeout(timeout)
.setRetryMethod(retryMethod)
- .setRetries(retries)
+ .setForwardRetries(forwardRetries)
.setPayloads(ByteString.copyFrom(payloads))
.build();
}
diff --git a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithRandomPortTest.java b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithRandomPortTest.java
index 84f12f4..d4c44b6 100644
--- a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithRandomPortTest.java
+++ b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithRandomPortTest.java
@@ -535,7 +535,7 @@ public class AlphaIntegrationWithRandomPortTest {
String compensationMethod,
int timeout,
String retryMethod,
- int retries) {
+ int forwardRetries) {
return GrpcTxEvent.newBuilder()
.setServiceName(serviceName)
@@ -546,9 +546,9 @@ public class AlphaIntegrationWithRandomPortTest {
.setParentTxId(parentTxId == null ? "" : parentTxId)
.setType(eventType.name())
.setCompensationMethod(compensationMethod)
- .setTimeout(timeout)
+ .setForwardTimeout(timeout)
.setRetryMethod(retryMethod)
- .setRetries(retries)
+ .setForwardRetries(forwardRetries)
.setPayloads(ByteString.copyFrom(payloads))
.build();
}
diff --git a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/fsm/OmegaEventSagaSimulator.java b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/fsm/OmegaEventSagaSimulator.java
index ae6717a..424dd66 100644
--- a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/fsm/OmegaEventSagaSimulator.java
+++ b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/fsm/OmegaEventSagaSimulator.java
@@ -255,7 +255,7 @@ public class OmegaEventSagaSimulator {
String compensationMethod,
int timeout,
String retryMethod,
- int retries) {
+ int forwardRetries) {
return GrpcTxEvent.newBuilder()
.setServiceName(serviceName)
@@ -266,9 +266,9 @@ public class OmegaEventSagaSimulator {
.setParentTxId(parentTxId == null ? "" : parentTxId)
.setType(eventType.name())
.setCompensationMethod(compensationMethod)
- .setTimeout(timeout)
+ .setForwardTimeout(timeout)
.setRetryMethod(retryMethod)
- .setRetries(retries)
+ .setForwardRetries(forwardRetries)
.setPayloads(ByteString.copyFrom(payloads))
.build();
}
diff --git a/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/ExplicitTransactionContextIT.java b/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/ExplicitTransactionContextIT.java
index 4b752b9..dc2bf58 100644
--- a/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/ExplicitTransactionContextIT.java
+++ b/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/ExplicitTransactionContextIT.java
@@ -255,23 +255,22 @@ public class ExplicitTransactionContextIT {
assertThat(entity.getStatusCode(), is(OK));
assertThat(entity.getBody(), is("Greetings, eric; Welcome to visit the zoo, eric"));
- await().atMost(10, SECONDS).until(() -> eventRepo.count() == 8);
+ await().atMost(10, SECONDS).until(() -> eventRepo.count() == 7);
List<String> distinctGlobalTxIds = eventRepo.findDistinctGlobalTxId();
assertThat(distinctGlobalTxIds.size(), greaterThanOrEqualTo(1));
String globalTxId = distinctGlobalTxIds.get(0);
List<TxEvent> events = eventRepo.findByGlobalTxIdOrderByCreationTime(globalTxId);
- assertThat(events.size(), is(8));
+ assertThat(events.size(), is(7));
assertThat(events.get(0).type(), is("SagaStartedEvent"));
assertThat(events.get(1).type(), is("TxStartedEvent"));
assertThat(events.get(2).type(), is("TxEndedEvent"));
assertThat(events.get(3).type(), is("TxStartedEvent"));
- assertThat(events.get(4).type(), is("TxAbortedEvent"));
- assertThat(events.get(5).type(), is("TxStartedEvent"));
- assertThat(events.get(6).type(), is("TxEndedEvent"));
- assertThat(events.get(7).type(), is("SagaEndedEvent"));
+ assertThat(events.get(4).type(), is("TxStartedEvent"));
+ assertThat(events.get(5).type(), is("TxEndedEvent"));
+ assertThat(events.get(6).type(), is("SagaEndedEvent"));
assertThat(compensatedMessages.isEmpty(), is(true));
}
@@ -286,27 +285,25 @@ public class ExplicitTransactionContextIT {
assertThat(entity.getStatusCode(), is(INTERNAL_SERVER_ERROR));
- await().atMost(10, SECONDS).until(() -> eventRepo.count() == 12);
+ await().atMost(10, SECONDS).until(() -> eventRepo.count() == 10);
List<String> distinctGlobalTxIds = eventRepo.findDistinctGlobalTxId();
assertThat(distinctGlobalTxIds.size(), greaterThanOrEqualTo(1));
String globalTxId = distinctGlobalTxIds.get(0);
List<TxEvent> events = eventRepo.findByGlobalTxIdOrderByCreationTime(globalTxId);
- assertThat(events.size(), is(12));
+ assertThat(events.size(), is(10));
assertThat(events.get(0).type(), is("SagaStartedEvent"));
assertThat(events.get(1).type(), is("TxStartedEvent"));
assertThat(events.get(2).type(), is("TxEndedEvent"));
assertThat(events.get(3).type(), is("TxStartedEvent"));
- assertThat(events.get(4).type(), is("TxAbortedEvent"));
+ assertThat(events.get(4).type(), is("TxStartedEvent"));
assertThat(events.get(5).type(), is("TxStartedEvent"));
assertThat(events.get(6).type(), is("TxAbortedEvent"));
- assertThat(events.get(7).type(), is("TxStartedEvent"));
- assertThat(events.get(8).type(), is("TxAbortedEvent"));
- // This event is for the whole saga event
- assertThat(events.get(9).type(), is("TxAbortedEvent"));
- assertThat(events.get(10).type(), is("TxCompensatedEvent"));
+ assertThat(events.get(7).type(), is("TxAbortedEvent"));
+ assertThat(events.get(8).type(), is("TxCompensatedEvent"));
+ assertThat(events.get(9).type(), is("SagaEndedEvent"));
assertThat(compensatedMessages, Matchers.contains("Goodbye, " + GreetingController.TRESPASSER));
}
diff --git a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/GrpcSagaClientMessageSender.java b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/GrpcSagaClientMessageSender.java
index 37996a0..60c9bf2 100644
--- a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/GrpcSagaClientMessageSender.java
+++ b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/GrpcSagaClientMessageSender.java
@@ -19,8 +19,6 @@ package org.apache.servicecomb.pack.omega.connector.grpc.saga;
import com.google.protobuf.ByteString;
import io.grpc.ManagedChannel;
-import io.grpc.stub.StreamObserver;
-import java.lang.invoke.MethodHandles;
import org.apache.servicecomb.pack.contract.grpc.ServerMeta;
import org.apache.servicecomb.pack.omega.connector.grpc.core.LoadBalanceContext;
import org.apache.servicecomb.pack.omega.context.ServiceConfig;
@@ -37,8 +35,6 @@ import org.apache.servicecomb.pack.contract.grpc.GrpcTxEvent.Builder;
import org.apache.servicecomb.pack.contract.grpc.TxEventServiceGrpc;
import org.apache.servicecomb.pack.contract.grpc.TxEventServiceGrpc.TxEventServiceBlockingStub;
import org.apache.servicecomb.pack.contract.grpc.TxEventServiceGrpc.TxEventServiceStub;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class GrpcSagaClientMessageSender implements SagaMessageSender {
@@ -113,10 +109,10 @@ public class GrpcSagaClientMessageSender implements SagaMessageSender {
.setLocalTxId(event.localTxId())
.setParentTxId(event.parentTxId() == null ? "" : event.parentTxId())
.setType(event.type().name())
- .setTimeout(event.timeout())
+ .setForwardTimeout(event.timeout())
.setCompensationMethod(event.compensationMethod())
.setRetryMethod(event.retryMethod() == null ? "" : event.retryMethod())
- .setRetries(event.retries())
+ .setForwardRetries(event.forwardRetries())
.setPayloads(payloads);
return builder.build();
diff --git a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalancedSenderTestBase.java b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalancedSenderTestBase.java
index 2f19080..f2f05d6 100644
--- a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalancedSenderTestBase.java
+++ b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalancedSenderTestBase.java
@@ -171,9 +171,9 @@ public abstract class SagaLoadBalancedSenderTestBase {
request.getLocalTxId(),
request.getParentTxId(),
request.getCompensationMethod(),
- request.getTimeout(),
+ request.getForwardTimeout(),
request.getRetryMethod(),
- request.getRetries(),
+ request.getForwardRetries(),
new String(request.getPayloads().toByteArray())));
sleep();
diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionInterceptionTest.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionInterceptionTest.java
index a5f3abf..81d79a1 100644
--- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionInterceptionTest.java
+++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionInterceptionTest.java
@@ -203,19 +203,16 @@ public class TransactionInterceptionTest {
fail("unexpected exception throw: " + e);
}
- assertThat(messages.size(), is(4));
+ assertThat(messages.size(), is(3));
assertThat(messages.get(0),
is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 2, user, 1)
.toString()));
- String abortedEvent = messages.get(1);
- assertThat(abortedEvent, allOf(containsString("TxAbortedEvent"), containsString("Retry harder")));
-
- assertThat(messages.get(2),
+ assertThat(messages.get(1),
is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 1, user, 1)
.toString()));
- assertThat(messages.get(3),
+ assertThat(messages.get(2),
is(new TxEndedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2).toString()));
assertThat(userRepository.count(), is(1L));
@@ -234,19 +231,16 @@ public class TransactionInterceptionTest {
assertThat(e.getMessage(), is("Retry harder"));
}
- assertThat(messages.size(), is(4));
+ assertThat(messages.size(), is(3));
assertThat(messages.get(0),
is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 2, user, 3)
.toString()));
- String abortedEvent1 = messages.get(1);
- assertThat(abortedEvent1, allOf(containsString("TxAbortedEvent"), containsString("Retry harder")));
-
- assertThat(messages.get(2),
+ assertThat(messages.get(1),
is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 1, user, 3)
.toString()));
- String abortedEvent2 = messages.get(3);
+ String abortedEvent2 = messages.get(2);
assertThat(abortedEvent2, allOf(containsString("TxAbortedEvent"), containsString("Retry harder")));
assertThat(userRepository.count(), is(0L));
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/AbstractRecoveryPolicy.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/AbstractRecoveryPolicy.java
index d38dec8..00f26ca 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/AbstractRecoveryPolicy.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/AbstractRecoveryPolicy.java
@@ -25,19 +25,19 @@ import org.aspectj.lang.ProceedingJoinPoint;
public abstract class AbstractRecoveryPolicy implements RecoveryPolicy {
public abstract Object applyTo(ProceedingJoinPoint joinPoint, Compensable compensable,
- CompensableInterceptor interceptor, OmegaContext context, String parentTxId, int retries)
+ CompensableInterceptor interceptor, OmegaContext context, String parentTxId, int forwardRetries)
throws Throwable;
@Override
public Object apply(ProceedingJoinPoint joinPoint, Compensable compensable,
- CompensableInterceptor interceptor, OmegaContext context, String parentTxId, int retries)
+ CompensableInterceptor interceptor, OmegaContext context, String parentTxId, int forwardRetries)
throws Throwable {
Object result;
if(compensable.forwardTimeout()>0){
RecoveryPolicyTimeoutWrapper wrapper = new RecoveryPolicyTimeoutWrapper(this);
- result = wrapper.applyTo(joinPoint, compensable, interceptor, context, parentTxId, retries);
+ result = wrapper.applyTo(joinPoint, compensable, interceptor, context, parentTxId, forwardRetries);
} else {
- result = this.applyTo(joinPoint, compensable, interceptor, context, parentTxId, retries);
+ result = this.applyTo(joinPoint, compensable, interceptor, context, parentTxId, forwardRetries);
}
return result;
}
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptor.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptor.java
index 108ebbc..d90d63c 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptor.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptor.java
@@ -30,9 +30,9 @@ public class CompensableInterceptor implements EventAwareInterceptor {
@Override
public AlphaResponse preIntercept(String parentTxId, String compensationMethod, int timeout, String retriesMethod,
- int retries, Object... message) {
+ int forwardRetries, Object... message) {
return sender.send(new TxStartedEvent(context.globalTxId(), context.localTxId(), parentTxId, compensationMethod,
- timeout, retriesMethod, retries, message));
+ timeout, retriesMethod, forwardRetries, message));
}
@Override
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/EventAwareInterceptor.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/EventAwareInterceptor.java
index 5a88ee3..3b4036c 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/EventAwareInterceptor.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/EventAwareInterceptor.java
@@ -21,7 +21,7 @@ public interface EventAwareInterceptor {
AlphaResponse preIntercept(String parentTxId, String compensationMethod, int timeout,
String retriesMethod,
- int retries, Object... message);
+ int forwardRetries, Object... message);
void postIntercept(String parentTxId, String compensationMethod);
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecovery.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecovery.java
index a514eef..21fde8e 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecovery.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecovery.java
@@ -40,9 +40,9 @@ public class ForwardRecovery extends DefaultRecovery {
// TODO: 2018/03/10 we do not support retry with forward timeout yet
@Override
public Object applyTo(ProceedingJoinPoint joinPoint, Compensable compensable, CompensableInterceptor interceptor,
- OmegaContext context, String parentTxId, int retries) throws Throwable {
+ OmegaContext context, String parentTxId, int forwardRetries) throws Throwable {
Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
- int remains = retries;
+ int remains = forwardRetries;
try {
while (true) {
try {
@@ -55,12 +55,12 @@ public class ForwardRecovery extends DefaultRecovery {
remains = remains == -1 ? -1 : remains - 1;
if (remains == 0) {
LOG.error(
- "Retried sub tx failed maximum times, global tx id: {}, local tx id: {}, method: {}, retried times: {}",
- context.globalTxId(), context.localTxId(), method.toString(), retries);
+ "Forward Retried sub tx failed maximum times, global tx id: {}, local tx id: {}, method: {}, retried times: {}",
+ context.globalTxId(), context.localTxId(), method.toString(), forwardRetries);
throw throwable;
}
- LOG.warn("Retrying sub tx failed, global tx id: {}, local tx id: {}, method: {}, remains: {}",
+ LOG.warn("Forward Retrying sub tx failed, global tx id: {}, local tx id: {}, method: {}, remains: {}",
context.globalTxId(), context.localTxId(), method.toString(), remains);
Thread.sleep(compensable.retryDelayInMilliseconds());
}
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/NoOpEventAwareInterceptor.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/NoOpEventAwareInterceptor.java
index bc46242..a6f8447 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/NoOpEventAwareInterceptor.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/NoOpEventAwareInterceptor.java
@@ -24,7 +24,7 @@ public class NoOpEventAwareInterceptor implements EventAwareInterceptor {
@Override
public AlphaResponse preIntercept(String parentTxId, String compensationMethod, int timeout,
String retriesMethod,
- int retries, Object... message) {
+ int forwardRetries, Object... message) {
return new AlphaResponse(false);
}
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicy.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicy.java
index 7aec7c7..b2ab04f 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicy.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicy.java
@@ -23,5 +23,5 @@ import org.aspectj.lang.ProceedingJoinPoint;
public interface RecoveryPolicy {
Object apply(ProceedingJoinPoint joinPoint, Compensable compensable, CompensableInterceptor interceptor,
- OmegaContext context, String parentTxId, int retries) throws Throwable;
+ OmegaContext context, String parentTxId, int forwardRetries) throws Throwable;
}
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicyFactory.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicyFactory.java
index 33098d9..f373067 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicyFactory.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicyFactory.java
@@ -27,7 +27,7 @@ public class RecoveryPolicyFactory {
* If retries > 0, it will use the forward recovery and retry the given times at most.
* If retries == -1, it will use the forward recovery and retry forever until interrupted.
*/
- static RecoveryPolicy getRecoveryPolicy(int retries) {
- return retries != 0 ? FORWARD_RECOVERY : DEFAULT_RECOVERY;
+ static RecoveryPolicy getRecoveryPolicy(int forwardRetries) {
+ return forwardRetries != 0 ? FORWARD_RECOVERY : DEFAULT_RECOVERY;
}
}
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspect.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspect.java
index 826480d..60efca0 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspect.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspect.java
@@ -63,10 +63,10 @@ public class TransactionAspect extends TransactionContextHelper {
context.newLocalTxId();
LOG.debug("Updated context {} for compensable method {} ", context, method.toString());
- int retries = compensable.forwardRetries();
- RecoveryPolicy recoveryPolicy = RecoveryPolicyFactory.getRecoveryPolicy(retries);
+ int forwardRetries = compensable.forwardRetries();
+ RecoveryPolicy recoveryPolicy = RecoveryPolicyFactory.getRecoveryPolicy(forwardRetries);
try {
- return recoveryPolicy.apply(joinPoint, compensable, interceptor, context, localTxId, retries);
+ return recoveryPolicy.apply(joinPoint, compensable, interceptor, context, localTxId, forwardRetries);
} finally {
context.setLocalTxId(localTxId);
LOG.debug("Restored context back to {}", context);
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxEvent.java
index 71e10b5..0bc5c26 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxEvent.java
@@ -33,10 +33,10 @@ public class TxEvent {
private final Object[] payloads;
private final String retryMethod;
- private final int retries;
+ private final int forwardRetries;
public TxEvent(EventType type, String globalTxId, String localTxId, String parentTxId, String compensationMethod,
- int timeout, String retryMethod, int retries, Object... payloads) {
+ int timeout, String retryMethod, int forwardRetries, Object... payloads) {
this.timestamp = System.currentTimeMillis();
this.type = type;
this.globalTxId = globalTxId;
@@ -45,7 +45,7 @@ public class TxEvent {
this.compensationMethod = compensationMethod;
this.timeout = timeout;
this.retryMethod = retryMethod;
- this.retries = retries;
+ this.forwardRetries = forwardRetries;
this.payloads = payloads;
}
@@ -85,8 +85,8 @@ public class TxEvent {
return retryMethod;
}
- public int retries() {
- return retries;
+ public int forwardRetries() {
+ return forwardRetries;
}
@Override
@@ -98,7 +98,7 @@ public class TxEvent {
", compensationMethod='" + compensationMethod + '\'' +
", timeout=" + timeout +
", retryMethod='" + retryMethod + '\'' +
- ", retries=" + retries +
+ ", forwardRetries=" + forwardRetries +
", payloads=" + Arrays.toString(payloads) +
'}';
}
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxStartedEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxStartedEvent.java
index fe7bb5b..0851f65 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxStartedEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/TxStartedEvent.java
@@ -22,8 +22,8 @@ import org.apache.servicecomb.pack.common.EventType;
public class TxStartedEvent extends TxEvent {
public TxStartedEvent(String globalTxId, String localTxId, String parentTxId, String compensationMethod,
- int timeout, String retryMethod, int retries, Object... payloads) {
+ int timeout, String retryMethod, int forwardRetries, Object... payloads) {
super(EventType.TxStartedEvent, globalTxId, localTxId, parentTxId, compensationMethod, timeout, retryMethod,
- retries, payloads);
+ forwardRetries, payloads);
}
}
diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptorTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptorTest.java
index 02c2067..fa3385c 100644
--- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptorTest.java
+++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/CompensableInterceptorTest.java
@@ -91,15 +91,15 @@ public class CompensableInterceptorTest {
@Test
public void sendsTxStartedEventBefore() throws Exception {
- int retries = new Random().nextInt();
- interceptor.preIntercept(parentTxId, compensationMethod, 0, retryMethod, retries, message);
+ int forwardRetries = new Random().nextInt();
+ interceptor.preIntercept(parentTxId, compensationMethod, 0, retryMethod, forwardRetries, message);
TxEvent event = messages.get(0);
assertThat(event.globalTxId(), is(globalTxId));
assertThat(event.localTxId(), is(localTxId));
assertThat(event.parentTxId(), is(parentTxId));
- assertThat(event.retries(), is(retries));
+ assertThat(event.forwardRetries(), is(forwardRetries));
assertThat(event.retryMethod(), is(retryMethod));
assertThat(event.type(), is(EventType.TxStartedEvent));
assertThat(event.compensationMethod(), is(compensationMethod));
diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecoveryTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecoveryTest.java
index 23b29fa..0bcf0de 100644
--- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecoveryTest.java
+++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecoveryTest.java
@@ -131,7 +131,7 @@ public class DefaultRecoveryTest {
assertThat(startedEvent.localTxId(), is(localTxId));
assertThat(startedEvent.parentTxId(), is(parentTxId));
assertThat(startedEvent.type(), is(EventType.TxStartedEvent));
- assertThat(startedEvent.retries(), is(0));
+ assertThat(startedEvent.forwardRetries(), is(0));
assertThat(startedEvent.retryMethod(), is(""));
TxEvent endedEvent = messages.get(1);
@@ -159,7 +159,7 @@ public class DefaultRecoveryTest {
assertThat(startedEvent.localTxId(), is(localTxId));
assertThat(startedEvent.parentTxId(), is(parentTxId));
assertThat(startedEvent.type(), is(EventType.TxStartedEvent));
- assertThat(startedEvent.retries(), is(0));
+ assertThat(startedEvent.forwardRetries(), is(0));
assertThat(startedEvent.retryMethod(), is(""));
TxEvent abortedEvent = messages.get(1);
@@ -201,7 +201,7 @@ public class DefaultRecoveryTest {
assertThat(startedEvent.localTxId(), is(localTxId));
assertThat(startedEvent.parentTxId(), is(parentTxId));
assertThat(startedEvent.type(), is(EventType.TxStartedEvent));
- assertThat(startedEvent.retries(), is(retries));
+ assertThat(startedEvent.forwardRetries(), is(retries));
assertThat(startedEvent.retryMethod(), is(this.getClass().getDeclaredMethod("doNothing").toString()));
}
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 dd3a73c..6d34d21 100644
--- a/pack-contracts/pack-contract-grpc/src/main/proto/GrpcTxEvent.proto
+++ b/pack-contracts/pack-contract-grpc/src/main/proto/GrpcTxEvent.proto
@@ -42,8 +42,8 @@ message GrpcTxEvent {
bytes payloads = 7;
string serviceName = 8;
string instanceId = 9;
- int32 timeout = 10;
- int32 retries = 11;
+ int32 forwardTimeout = 10;
+ int32 forwardRetries = 11;
string retryMethod = 12;
}