From e0385e058abd60abb7b43bf88e3b6ac0bab9402d Mon Sep 17 00:00:00 2001 From: Dmitriy Kukharev Date: Tue, 5 Mar 2019 15:28:16 +0300 Subject: [PATCH] HBASE-21774 EnvironmentEdge now has a default implementation of currentTime method and it uses System.nanoTime() --- .../hadoop/hbase/util/DefaultEnvironmentEdge.java | 12 +----------- .../apache/hadoop/hbase/util/EnvironmentEdge.java | 4 +++- .../hbase/util/TestDefaultEnvironmentEdge.java | 2 +- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DefaultEnvironmentEdge.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DefaultEnvironmentEdge.java index 422cc16507..83210f2aa9 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DefaultEnvironmentEdge.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DefaultEnvironmentEdge.java @@ -24,15 +24,5 @@ import org.apache.yetus.audience.InterfaceAudience; * Default implementation of an environment edge. */ @InterfaceAudience.Private -public class DefaultEnvironmentEdge implements EnvironmentEdge { - /** - * {@inheritDoc} - *

- * This implementation returns {@link System#currentTimeMillis()} - *

- */ - @Override - public long currentTime() { - return System.currentTimeMillis(); - } +/* package */ class DefaultEnvironmentEdge implements EnvironmentEdge { } diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/EnvironmentEdge.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/EnvironmentEdge.java index 635c2764d2..2669fafce5 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/EnvironmentEdge.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/EnvironmentEdge.java @@ -33,5 +33,7 @@ public interface EnvironmentEdge { * * @return Current time. */ - long currentTime(); + default long currentTime() { + return System.nanoTime(); + } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestDefaultEnvironmentEdge.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestDefaultEnvironmentEdge.java index 4d2c893970..83b6895889 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestDefaultEnvironmentEdge.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestDefaultEnvironmentEdge.java @@ -41,7 +41,7 @@ public class TestDefaultEnvironmentEdge { @Test public void testGetCurrentTimeUsesSystemClock() { DefaultEnvironmentEdge edge = new DefaultEnvironmentEdge(); - long systemTime = System.currentTimeMillis(); + long systemTime = System.nanoTime(); long edgeTime = edge.currentTime(); assertTrue("System time must be either the same or less than the edge time", systemTime < edgeTime || systemTime == edgeTime); -- 2.17.1