You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2022/06/21 08:00:27 UTC

[rocketmq] branch 5.0.0-beta updated: [ISSUE #4384] Remove TimeUnit in nextDelayDuration

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

yukon pushed a commit to branch 5.0.0-beta
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/5.0.0-beta by this push:
     new 388cc2111 [ISSUE #4384] Remove TimeUnit in nextDelayDuration
388cc2111 is described below

commit 388cc211183e64ad2dc5cca8f911ccf92a0c064e
Author: zhouxiang <zh...@alibaba-inc.com>
AuthorDate: Wed Jun 15 19:26:53 2022 +0800

    [ISSUE #4384] Remove TimeUnit in nextDelayDuration
---
 .../rocketmq/common/subscription/CustomizedRetryPolicy.java       | 6 ++----
 .../rocketmq/common/subscription/ExponentialRetryPolicy.java      | 5 ++---
 .../java/org/apache/rocketmq/common/subscription/RetryPolicy.java | 7 ++-----
 .../rocketmq/common/subscription/CustomizedRetryPolicyTest.java   | 8 ++++----
 .../rocketmq/common/subscription/ExponentialRetryPolicyTest.java  | 8 ++++----
 5 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/common/src/main/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicy.java b/common/src/main/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicy.java
index 7ea663525..1fe1983f3 100644
--- a/common/src/main/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicy.java
+++ b/common/src/main/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicy.java
@@ -68,12 +68,11 @@ public class CustomizedRetryPolicy implements RetryPolicy {
      * and old index is reconsumeTime + 3
      *
      * @param reconsumeTimes Message reconsumeTimes {@link org.apache.rocketmq.common.message.MessageExt#getReconsumeTimes}
-     * @param timeUnit       {@link TimeUnit}
      * @see <a href="https://github.com/apache/rocketmq/blob/3bddd514646826253a239f95959c14840a87034a/broker/src/main/java/org/apache/rocketmq/broker/processor/AbstractSendMessageProcessor.java#L210">org.apache.rocketmq.broker.processor.AbstractSendMessageProcessor</a>
      * @see <a href="https://github.com/apache/rocketmq/blob/3bddd514646826253a239f95959c14840a87034a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java#L242">org.apache.rocketmq.store.DefaultMessageStore</a>
      */
     @Override
-    public long nextDelayDuration(int reconsumeTimes, TimeUnit timeUnit) {
+    public long nextDelayDuration(int reconsumeTimes) {
         if (reconsumeTimes < 0) {
             reconsumeTimes = 0;
         }
@@ -81,7 +80,6 @@ public class CustomizedRetryPolicy implements RetryPolicy {
         if (index >= next.length) {
             index = next.length - 1;
         }
-        long nextDelayDurationInMillis = next[index];
-        return timeUnit.convert(nextDelayDurationInMillis, TimeUnit.MILLISECONDS);
+        return next[index];
     }
 }
diff --git a/common/src/main/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicy.java b/common/src/main/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicy.java
index ff16b027a..f1c15e296 100644
--- a/common/src/main/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicy.java
+++ b/common/src/main/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicy.java
@@ -62,14 +62,13 @@ public class ExponentialRetryPolicy implements RetryPolicy {
     }
 
     @Override
-    public long nextDelayDuration(int reconsumeTimes, TimeUnit timeUnit) {
+    public long nextDelayDuration(int reconsumeTimes) {
         if (reconsumeTimes < 0) {
             reconsumeTimes = 0;
         }
         if (reconsumeTimes > 32) {
             reconsumeTimes = 32;
         }
-        long nextDelayDurationInMillis = Math.min(max, initial * (long) Math.pow(multiplier, reconsumeTimes));
-        return timeUnit.convert(nextDelayDurationInMillis, TimeUnit.MILLISECONDS);
+        return Math.min(max, initial * (long) Math.pow(multiplier, reconsumeTimes));
     }
 }
diff --git a/common/src/main/java/org/apache/rocketmq/common/subscription/RetryPolicy.java b/common/src/main/java/org/apache/rocketmq/common/subscription/RetryPolicy.java
index 2af570da2..9f3716d28 100644
--- a/common/src/main/java/org/apache/rocketmq/common/subscription/RetryPolicy.java
+++ b/common/src/main/java/org/apache/rocketmq/common/subscription/RetryPolicy.java
@@ -17,15 +17,12 @@
 
 package org.apache.rocketmq.common.subscription;
 
-import java.util.concurrent.TimeUnit;
-
 public interface RetryPolicy {
     /**
      * Compute message's next delay duration by specify reconsumeTimes
      *
      * @param reconsumeTimes Message reconsumeTimes
-     * @param timeUnit       Given timeUnit
-     * @return Message's nextDelayDuration in given timeUnit
+     * @return Message's nextDelayDuration in milliseconds
      */
-    long nextDelayDuration(int reconsumeTimes, TimeUnit timeUnit);
+    long nextDelayDuration(int reconsumeTimes);
 }
diff --git a/common/src/test/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicyTest.java b/common/src/test/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicyTest.java
index 67f2c6251..7753e2bf5 100644
--- a/common/src/test/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicyTest.java
+++ b/common/src/test/java/org/apache/rocketmq/common/subscription/CustomizedRetryPolicyTest.java
@@ -27,18 +27,18 @@ public class CustomizedRetryPolicyTest {
     @Test
     public void testNextDelayDuration() {
         CustomizedRetryPolicy customizedRetryPolicy = new CustomizedRetryPolicy();
-        long actual = customizedRetryPolicy.nextDelayDuration(0, TimeUnit.MILLISECONDS);
+        long actual = customizedRetryPolicy.nextDelayDuration(0);
         assertThat(actual).isEqualTo(TimeUnit.SECONDS.toMillis(10));
-        actual = customizedRetryPolicy.nextDelayDuration(10, TimeUnit.MILLISECONDS);
+        actual = customizedRetryPolicy.nextDelayDuration(10);
         assertThat(actual).isEqualTo(TimeUnit.MINUTES.toMillis(9));
     }
 
     @Test
     public void testNextDelayDurationOutOfRange() {
         CustomizedRetryPolicy customizedRetryPolicy = new CustomizedRetryPolicy();
-        long actual = customizedRetryPolicy.nextDelayDuration(-1, TimeUnit.MILLISECONDS);
+        long actual = customizedRetryPolicy.nextDelayDuration(-1);
         assertThat(actual).isEqualTo(TimeUnit.SECONDS.toMillis(10));
-        actual = customizedRetryPolicy.nextDelayDuration(100, TimeUnit.MILLISECONDS);
+        actual = customizedRetryPolicy.nextDelayDuration(100);
         assertThat(actual).isEqualTo(TimeUnit.HOURS.toMillis(2));
     }
 }
\ No newline at end of file
diff --git a/common/src/test/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicyTest.java b/common/src/test/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicyTest.java
index abce11204..0361a7fe9 100644
--- a/common/src/test/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicyTest.java
+++ b/common/src/test/java/org/apache/rocketmq/common/subscription/ExponentialRetryPolicyTest.java
@@ -27,18 +27,18 @@ public class ExponentialRetryPolicyTest {
     @Test
     public void testNextDelayDuration() {
         ExponentialRetryPolicy exponentialRetryPolicy = new ExponentialRetryPolicy();
-        long actual = exponentialRetryPolicy.nextDelayDuration(0, TimeUnit.MILLISECONDS);
+        long actual = exponentialRetryPolicy.nextDelayDuration(0);
         assertThat(actual).isEqualTo(TimeUnit.SECONDS.toMillis(5));
-        actual = exponentialRetryPolicy.nextDelayDuration(10, TimeUnit.MILLISECONDS);
+        actual = exponentialRetryPolicy.nextDelayDuration(10);
         assertThat(actual).isEqualTo(TimeUnit.SECONDS.toMillis(1024 * 5));
     }
 
     @Test
     public void testNextDelayDurationOutOfRange() {
         ExponentialRetryPolicy exponentialRetryPolicy = new ExponentialRetryPolicy();
-        long actual = exponentialRetryPolicy.nextDelayDuration(-1, TimeUnit.MILLISECONDS);
+        long actual = exponentialRetryPolicy.nextDelayDuration(-1);
         assertThat(actual).isEqualTo(TimeUnit.SECONDS.toMillis(5));
-        actual = exponentialRetryPolicy.nextDelayDuration(100, TimeUnit.MILLISECONDS);
+        actual = exponentialRetryPolicy.nextDelayDuration(100);
         assertThat(actual).isEqualTo(TimeUnit.HOURS.toMillis(2));
     }
 }
\ No newline at end of file