diff --git hbase-common/src/main/java/org/apache/hadoop/hbase/io/hadoopbackport/ThrottledInputStream.java hbase-common/src/main/java/org/apache/hadoop/hbase/io/hadoopbackport/ThrottledInputStream.java index 88c1b37..f1c39fb 100644 --- hbase-common/src/main/java/org/apache/hadoop/hbase/io/hadoopbackport/ThrottledInputStream.java +++ hbase-common/src/main/java/org/apache/hadoop/hbase/io/hadoopbackport/ThrottledInputStream.java @@ -120,13 +120,13 @@ public class ThrottledInputStream extends InputStream { return readLen; } - private long calSleepTimeMs() { - return calSleepTimeMs(bytesRead, maxBytesPerSec, + private long calculateSleepTimeMs() { + return calculateSleepTimeMs(bytesRead, maxBytesPerSec, EnvironmentEdgeManager.currentTime() - startTime); } @VisibleForTesting - static long calSleepTimeMs(long bytesRead, long maxBytesPerSec, long elapsed) { + static long calculateSleepTimeMs(long bytesRead, long maxBytesPerSec, long elapsed) { assert elapsed > 0 : "The elapsed time should be greater than zero"; if (bytesRead <= 0 || maxBytesPerSec <= 0) { return 0; @@ -143,7 +143,7 @@ public class ThrottledInputStream extends InputStream { } private void throttle() throws InterruptedIOException { - long sleepTime = calSleepTimeMs(); + long sleepTime = calculateSleepTimeMs(); totalSleepTime += sleepTime; try { TimeUnit.MILLISECONDS.sleep(sleepTime); diff --git hbase-common/src/test/java/org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.java hbase-common/src/test/java/org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.java index 15d292d..a81094d 100644 --- hbase-common/src/test/java/org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.java +++ hbase-common/src/test/java/org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.java @@ -28,21 +28,21 @@ public class TestThrottledInputStream { @Test public void testCalSleepTimeMs() { // case 0: initial - no read, no sleep - assertEquals(0, ThrottledInputStream.calSleepTimeMs(0, 10000, 1000)); + assertEquals(0, ThrottledInputStream.calculateSleepTimeMs(0, 10000, 1000)); // case 1: no threshold - assertEquals(0, ThrottledInputStream.calSleepTimeMs(Long.MAX_VALUE, 0, 1000)); - assertEquals(0, ThrottledInputStream.calSleepTimeMs(Long.MAX_VALUE, -1, 1000)); + assertEquals(0, ThrottledInputStream.calculateSleepTimeMs(Long.MAX_VALUE, 0, 1000)); + assertEquals(0, ThrottledInputStream.calculateSleepTimeMs(Long.MAX_VALUE, -1, 1000)); // case 2: too fast - assertEquals(1500, ThrottledInputStream.calSleepTimeMs(5, 2, 1000)); - assertEquals(500, ThrottledInputStream.calSleepTimeMs(5, 2, 2000)); - assertEquals(6500, ThrottledInputStream.calSleepTimeMs(15, 2, 1000)); + assertEquals(1500, ThrottledInputStream.calculateSleepTimeMs(5, 2, 1000)); + assertEquals(500, ThrottledInputStream.calculateSleepTimeMs(5, 2, 2000)); + assertEquals(6500, ThrottledInputStream.calculateSleepTimeMs(15, 2, 1000)); // case 3: too slow - assertEquals(0, ThrottledInputStream.calSleepTimeMs(1, 2, 1000)); - assertEquals(0, ThrottledInputStream.calSleepTimeMs(2, 2, 2000)); - assertEquals(0, ThrottledInputStream.calSleepTimeMs(1, 2, 1000)); + assertEquals(0, ThrottledInputStream.calculateSleepTimeMs(1, 2, 1000)); + assertEquals(0, ThrottledInputStream.calculateSleepTimeMs(2, 2, 2000)); + assertEquals(0, ThrottledInputStream.calculateSleepTimeMs(1, 2, 1000)); } }