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 70dafb9f59412530087f9be366c2a4db3fec7bcb Author: Lei Zhang <zhang...@apache.org> AuthorDate: Wed Dec 25 23:51:48 2019 +0800 SCB-1646 Rename @Compensable property retries and timeout with the "forward" prefix --- .../tests/explicitcontext/GreetingService.java | 2 +- .../integration/tests/resttemplate/GreetingService.java | 2 +- .../spring/CompensableMethodCheckingCallback.java | 4 ++-- .../spring/CompensableAnnotationCheckingTest.java | 2 +- .../transaction/spring/MisconfiguredRetriesService.java | 2 +- .../transaction/spring/TransactionalUserService.java | 2 +- .../pack/omega/transaction/AbstractRecoveryPolicy.java | 2 +- .../pack/omega/transaction/DefaultRecovery.java | 2 +- .../pack/omega/transaction/ForwardRecovery.java | 8 ++++---- .../pack/omega/transaction/TransactionAspect.java | 2 +- .../pack/omega/transaction/annotations/Compensable.java | 12 ++++++------ .../wrapper/RecoveryPolicyTimeoutWrapper.java | 6 +++--- .../pack/omega/transaction/DefaultRecoveryTest.java | 4 ++-- .../pack/omega/transaction/ForwardRecoveryTest.java | 6 +++--- .../pack/omega/transaction/TransactionAspectTest.java | 16 ++++++++-------- 15 files changed, 36 insertions(+), 36 deletions(-) diff --git a/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/GreetingService.java b/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/GreetingService.java index c2dd6c5..782412f 100644 --- a/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/GreetingService.java +++ b/integration-tests/explicit-transaction-context-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/explicitcontext/GreetingService.java @@ -63,7 +63,7 @@ class GreetingService { return appendMessage("My bad, please take the window instead, " + name); } - @Compensable(retries = MAX_COUNT, compensationMethod = "close") + @Compensable(forwardRetries = MAX_COUNT, compensationMethod = "close") String open(String name, int retries, TransactionContext transactionContext) { if (failedCount < retries) { failedCount += 1; diff --git a/integration-tests/pack-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/resttemplate/GreetingService.java b/integration-tests/pack-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/resttemplate/GreetingService.java index af8f5ff..e3758bb 100644 --- a/integration-tests/pack-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/resttemplate/GreetingService.java +++ b/integration-tests/pack-tests/src/test/java/org/apache/servicecomb/pack/integration/tests/resttemplate/GreetingService.java @@ -62,7 +62,7 @@ class GreetingService { return appendMessage("My bad, please take the window instead, " + name); } - @Compensable(retries = MAX_COUNT, compensationMethod = "close") + @Compensable(forwardRetries = MAX_COUNT, compensationMethod = "close") String open(String name, int retries) { if (failedCount < retries) { failedCount += 1; diff --git a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableMethodCheckingCallback.java b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableMethodCheckingCallback.java index 07d8eb8..65a5d9d 100644 --- a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableMethodCheckingCallback.java +++ b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableMethodCheckingCallback.java @@ -35,8 +35,8 @@ class CompensableMethodCheckingCallback extends MethodCheckingCallback { Compensable compensable = method.getAnnotation(Compensable.class); String compensationMethod = compensable.compensationMethod(); // we don't support the retries number below -1. - if (compensable.retries() < -1) { - throw new IllegalArgumentException(String.format("Compensable %s of method %s, the retries should not below -1.", compensable, method.getName())); + if (compensable.forwardRetries() < -1) { + throw new IllegalArgumentException(String.format("Compensable %s of method %s, the forward retries should not below -1.", compensable, method.getName())); } loadMethodContext(method, compensationMethod); } diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableAnnotationCheckingTest.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableAnnotationCheckingTest.java index 4840201..cc2e629 100644 --- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableAnnotationCheckingTest.java +++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/CompensableAnnotationCheckingTest.java @@ -51,7 +51,7 @@ public class CompensableAnnotationCheckingTest { expectFailing(BeanCreationException.class); } } catch (BeanCreationException e) { - assertThat(e.getCause().getMessage(), endsWith("the retries should not below -1.")); + assertThat(e.getCause().getMessage(), endsWith("the forward retries should not below -1.")); } } diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/MisconfiguredRetriesService.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/MisconfiguredRetriesService.java index 0c90567..f95d99f 100644 --- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/MisconfiguredRetriesService.java +++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/MisconfiguredRetriesService.java @@ -25,7 +25,7 @@ import org.springframework.stereotype.Component; @Component class MisconfiguredRetriesService { - @Compensable(retries = -2) + @Compensable(forwardRetries = -2) void doSomething() { } } diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionalUserService.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionalUserService.java index bc7bcc9..08030a0 100644 --- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionalUserService.java +++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionalUserService.java @@ -51,7 +51,7 @@ public class TransactionalUserService { userRepository.delete(user); } - @Compensable(retries = 2, compensationMethod = "delete") + @Compensable(forwardRetries = 2, compensationMethod = "delete") public User add(User user, int count) { if (this.count < count) { this.count += 1; 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 6e86d72..d38dec8 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 @@ -33,7 +33,7 @@ public abstract class AbstractRecoveryPolicy implements RecoveryPolicy { CompensableInterceptor interceptor, OmegaContext context, String parentTxId, int retries) throws Throwable { Object result; - if(compensable.timeout()>0){ + if(compensable.forwardTimeout()>0){ RecoveryPolicyTimeoutWrapper wrapper = new RecoveryPolicyTimeoutWrapper(this); result = wrapper.applyTo(joinPoint, compensable, interceptor, context, parentTxId, retries); } else { diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecovery.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecovery.java index 158901c..3418f3a 100644 --- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecovery.java +++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/DefaultRecovery.java @@ -56,7 +56,7 @@ public class DefaultRecovery extends AbstractRecoveryPolicy { String retrySignature = (retries != 0 || compensationSignature.isEmpty()) ? method.toString() : ""; - AlphaResponse response = interceptor.preIntercept(parentTxId, compensationSignature, compensable.timeout(), + AlphaResponse response = interceptor.preIntercept(parentTxId, compensationSignature, compensable.forwardTimeout(), retrySignature, retries, joinPoint.getArgs()); if (response.aborted()) { String abortedLocalTxId = context.localTxId(); 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 51a32fe..a514eef 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 @@ -30,14 +30,14 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * ForwardRecovery is used to execute business logic with the given retries times. - * If retries is above 0, it will retry the given times at most. - * If retries == -1, it will retry forever until interrupted. + * ForwardRecovery is used to execute business logic with the given forwardRetries times. + * If forwardRetries is above 0, it will retry the given times at most. + * If forwardRetries == -1, it will retry forever until interrupted. */ public class ForwardRecovery extends DefaultRecovery { private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - // TODO: 2018/03/10 we do not support retry with timeout yet + // 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 { 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 d133cac..826480d 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,7 +63,7 @@ public class TransactionAspect extends TransactionContextHelper { context.newLocalTxId(); LOG.debug("Updated context {} for compensable method {} ", context, method.toString()); - int retries = compensable.retries(); + int retries = compensable.forwardRetries(); RecoveryPolicy recoveryPolicy = RecoveryPolicyFactory.getRecoveryPolicy(retries); try { return recoveryPolicy.apply(joinPoint, compensable, interceptor, context, localTxId, retries); diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/annotations/Compensable.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/annotations/Compensable.java index 9186639..8ed5081 100644 --- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/annotations/Compensable.java +++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/annotations/Compensable.java @@ -39,15 +39,15 @@ import java.lang.annotation.Target; public @interface Compensable { /** - * The retires number of the compensable method. + * The retires number of the forward compensable method. * Default value is 0, which means never retry it * value is -1, which means retry it until succeed * value > 0, which means the retry number * value < -1, an IllegalArgumentException will be thrown * - * @return the retries number + * @return the forward retries number */ - int retries() default 0; + int forwardRetries() default 0; /** * Compensation method name.<br> @@ -66,11 +66,11 @@ public @interface Compensable { int retryDelayInMilliseconds() default 0; /** - * <code>@Compensable</code> method timeout, in seconds. <br> + * <code>@Compensable</code> forward compensable method timeout, in seconds. <br> * Default value is 0, which means never timeout. * - * @return the timeout value + * @return the forward timeout value */ - int timeout() default 0; + int forwardTimeout() default 0; } diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java index 894d981..5d8c9c3 100644 --- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java +++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java @@ -28,8 +28,8 @@ import org.aspectj.lang.ProceedingJoinPoint; /** * RecoveryPolicy Wrapper - * 1.Use this wrapper to send a request if the @Compensable timeout>0 - * 2.Terminate thread execution if execution time is greater than the timeout of @Compensable + * 1.Use this wrapper to send a request if the @Compensable forwardTimeout>0 + * 2.Terminate thread execution if execution time is greater than the forwardTimeout of @Compensable * * Exception * 1.If the interrupt succeeds, a TransactionTimeoutException is thrown and the local transaction is rollback @@ -51,7 +51,7 @@ public class RecoveryPolicyTimeoutWrapper { public Object applyTo(ProceedingJoinPoint joinPoint, Compensable compensable, CompensableInterceptor interceptor, OmegaContext context, String parentTxId, int retries) throws Throwable { - final TimeoutProb timeoutProb = TimeoutProbManager.getInstance().addTimeoutProb(compensable.timeout()); + final TimeoutProb timeoutProb = TimeoutProbManager.getInstance().addTimeoutProb(compensable.forwardTimeout()); Object output; try { output = this.recoveryPolicy 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 6711323..746d696 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 @@ -113,7 +113,7 @@ public class DefaultRecoveryTest { when(methodSignature.getMethod()).thenReturn(this.getClass().getDeclaredMethod("doNothing")); when(compensable.compensationMethod()).thenReturn("doNothing"); - when(compensable.retries()).thenReturn(0); + when(compensable.forwardRetries()).thenReturn(0); omegaContext.setGlobalTxId(globalTxId); omegaContext.setLocalTxId(localTxId); @@ -191,7 +191,7 @@ public class DefaultRecoveryTest { @Test public void recordRetryMethodWhenRetriesIsSet() throws Throwable { int retries = new Random().nextInt(Integer.MAX_VALUE - 1) + 1; - when(compensable.retries()).thenReturn(retries); + when(compensable.forwardRetries()).thenReturn(retries); recoveryPolicy.apply(joinPoint, compensable, interceptor, omegaContext, parentTxId, retries); diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecoveryTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecoveryTest.java index a90b679..867bc34 100644 --- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecoveryTest.java +++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/ForwardRecoveryTest.java @@ -116,7 +116,7 @@ public class ForwardRecoveryTest { when(methodSignature.getMethod()).thenReturn(this.getClass().getDeclaredMethod("doNothing")); when(compensable.compensationMethod()).thenReturn("doNothing"); - when(compensable.retries()).thenReturn(0); + when(compensable.forwardRetries()).thenReturn(0); omegaContext.setGlobalTxId(globalTxId); omegaContext.setLocalTxId(localTxId); @@ -143,7 +143,7 @@ public class ForwardRecoveryTest { @Test public void throwExceptionWhenRetryReachesMaximum() throws Throwable { - when(compensable.retries()).thenReturn(2); + when(compensable.forwardRetries()).thenReturn(2); when(joinPoint.proceed()).thenThrow(oops); try { @@ -164,7 +164,7 @@ public class ForwardRecoveryTest { @Test public void keepRetryingTillInterrupted() throws Throwable { - when(compensable.retries()).thenReturn(-1); + when(compensable.forwardRetries()).thenReturn(-1); when(compensable.retryDelayInMilliseconds()).thenReturn(1000); when(joinPoint.proceed()).thenThrow(oops); diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspectTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspectTest.java index 5705089..39a32c4 100644 --- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspectTest.java +++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/pack/omega/transaction/TransactionAspectTest.java @@ -108,7 +108,7 @@ public class TransactionAspectTest { when(methodSignature.getMethod()).thenReturn(this.getClass().getDeclaredMethod("doNothing")); when(compensable.compensationMethod()).thenReturn("doNothing"); - when(compensable.retries()).thenReturn(0); + when(compensable.forwardRetries()).thenReturn(0); omegaContext.setGlobalTxId(globalTxId); omegaContext.setLocalTxId(localTxId); @@ -204,7 +204,7 @@ public class TransactionAspectTest { @Test public void interruptsOnCompensableTimeoutExceptionWithSleepBlocked() throws Throwable { - when(compensable.timeout()).thenReturn(2); + when(compensable.forwardTimeout()).thenReturn(2); when(joinPoint.proceed()).thenAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocationOnMock) throws Throwable { @@ -222,7 +222,7 @@ public class TransactionAspectTest { @Test public void interruptsOnCompensableTimeoutExceptionWithWaitBlocked() throws Throwable { - when(compensable.timeout()).thenReturn(2); + when(compensable.forwardTimeout()).thenReturn(2); when(joinPoint.proceed()).thenAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocationOnMock) throws Throwable { @@ -240,7 +240,7 @@ public class TransactionAspectTest { @Test public void interruptsOnCompensableTimeoutExceptionWithIOBlocked() throws Throwable { - when(compensable.timeout()).thenReturn(2); + when(compensable.forwardTimeout()).thenReturn(2); when(joinPoint.proceed()).thenAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocationOnMock) throws Throwable { @@ -270,7 +270,7 @@ public class TransactionAspectTest { @Test public void interruptsOnCompensableTimeoutExceptionWithCPUBusyBlocked() throws Throwable { - when(compensable.timeout()).thenReturn(3); + when(compensable.forwardTimeout()).thenReturn(3); when(joinPoint.proceed()).thenAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocationOnMock) throws Throwable { @@ -290,7 +290,7 @@ public class TransactionAspectTest { @Test public void interruptsOnCompensableTimeoutRejectionBySecurity() throws Throwable { final Thread main = Thread.currentThread(); - when(compensable.timeout()).thenReturn(2); + when(compensable.forwardTimeout()).thenReturn(2); when(joinPoint.proceed()).thenAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocationOnMock) throws Throwable { @@ -309,7 +309,7 @@ public class TransactionAspectTest { public void retryReachesMaximumAndForwardException() throws Throwable { RuntimeException oops = new RuntimeException("oops"); when(joinPoint.proceed()).thenThrow(oops); - when(compensable.retries()).thenReturn(3); + when(compensable.forwardRetries()).thenReturn(3); try { aspect.advise(joinPoint, compensable); @@ -353,7 +353,7 @@ public class TransactionAspectTest { public void keepRetryingTillSuccess() throws Throwable { RuntimeException oops = new RuntimeException("oops"); when(joinPoint.proceed()).thenThrow(oops).thenThrow(oops).thenReturn(null); - when(compensable.retries()).thenReturn(-1); + when(compensable.forwardRetries()).thenReturn(-1); aspect.advise(joinPoint, compensable);