You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by sz...@apache.org on 2021/12/08 10:49:40 UTC
[ratis] branch master updated: RATIS-1462. RaftServer started failed when rpc timeout use different unit (#556)
This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/master by this push:
new 87e2d96 RATIS-1462. RaftServer started failed when rpc timeout use different unit (#556)
87e2d96 is described below
commit 87e2d96bbbc426ba33f68353961abd4cfb8518f8
Author: Liu Jinghao <12...@qq.com>
AuthorDate: Wed Dec 8 18:49:36 2021 +0800
RATIS-1462. RaftServer started failed when rpc timeout use different unit (#556)
---
.../src/main/java/org/apache/ratis/util/TimeDuration.java | 2 +-
.../test/java/org/apache/ratis/util/TestTimeDuration.java | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java b/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java
index a7d2e41..0a9523c 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/TimeDuration.java
@@ -338,7 +338,7 @@ public final class TimeDuration implements Comparable<TimeDuration> {
@Override
public int compareTo(TimeDuration that) {
if (this.unit.compareTo(that.unit) > 0) {
- return that.compareTo(this);
+ return Integer.compare(0, that.compareTo(this));
}
if (this.unit == that.unit) {
return Long.compare(this.duration, that.duration);
diff --git a/ratis-test/src/test/java/org/apache/ratis/util/TestTimeDuration.java b/ratis-test/src/test/java/org/apache/ratis/util/TestTimeDuration.java
index 946ae21..edb0ad8 100644
--- a/ratis-test/src/test/java/org/apache/ratis/util/TestTimeDuration.java
+++ b/ratis-test/src/test/java/org/apache/ratis/util/TestTimeDuration.java
@@ -30,6 +30,7 @@ import static org.apache.ratis.util.TimeDuration.Abbreviation;
import static org.apache.ratis.util.TimeDuration.parse;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
public class TestTimeDuration {
{
@@ -244,6 +245,18 @@ public class TestTimeDuration {
Assert.assertSame(TimeUnit.DAYS, TimeDuration.higherUnit(TimeUnit.DAYS));
}
+ @Test(timeout = 1000)
+ public void testCompareTo() {
+ assertTrue(TimeDuration.ONE_SECOND.compareTo(TimeDuration.ONE_MINUTE) < 0);
+ assertTrue(TimeDuration.ONE_MINUTE.compareTo(TimeDuration.ONE_SECOND) > 0);
+
+ assertTrue(TimeDuration.valueOf(15, TimeUnit.SECONDS).compareTo(TimeDuration.ONE_MINUTE) < 0);
+ assertTrue(TimeDuration.ONE_MINUTE.compareTo(TimeDuration.valueOf(15, TimeUnit.SECONDS)) > 0);
+
+ assertEquals(0, TimeDuration.valueOf(60, TimeUnit.SECONDS).compareTo(TimeDuration.ONE_MINUTE));
+ assertEquals(0, TimeDuration.ONE_MINUTE.compareTo(TimeDuration.valueOf(60, TimeUnit.SECONDS)));
+ }
+
private static void assertHigherLower(TimeUnit lower, TimeUnit higher) {
Assert.assertSame(lower, TimeDuration.lowerUnit(higher));
Assert.assertSame(higher, TimeDuration.higherUnit(lower));