diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReservoirSample.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReservoirSample.java index f50b81154e1c..aa7a84b1ac2b 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReservoirSample.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReservoirSample.java @@ -41,7 +41,7 @@ public class ReservoirSample { private int n; public ReservoirSample(int k) { - Preconditions.checkArgument(k > 0, "negative sampling number(%d) is not allowed"); + Preconditions.checkArgument(k > 0, "negative sampling number(%s) is not allowed", k); r = new ArrayList<>(k); this.k = k; } diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestReservoirSample.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestReservoirSample.java index 6192edfa036a..d7ea0c5ac0cb 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestReservoirSample.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestReservoirSample.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hbase.util; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import java.util.stream.IntStream; @@ -89,4 +90,11 @@ public void testStream() { assertTrue(containsOne > round / 10 * 0.95); assertTrue(containsOne < round / 10 * 1.05); } + + @Test + public void testNegativeSamplingNumber() { + IllegalArgumentException e = + assertThrows(IllegalArgumentException.class, () -> new ReservoirSample(-1)); + assertEquals("negative sampling number(-1) is not allowed", e.getMessage()); + } }