You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2014/08/15 02:49:45 UTC

[5/9] git commit: HBASE-11627 guard against divide by zero in RegionSplitter logging.

HBASE-11627 guard against divide by zero in RegionSplitter logging.

Adds a test for noop rolling splits that fails prior to the addition
of the guard.

Signed-off-by: Andrew Purtell <ap...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a783281b
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a783281b
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a783281b

Branch: refs/heads/branch-1
Commit: a783281b72dedf8f500e370bdebcbe75fc148f6e
Parents: fe7f132
Author: Sean Busbey <bu...@apache.org>
Authored: Thu Aug 14 17:51:08 2014 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Thu Aug 14 17:51:08 2014 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/util/RegionSplitter.java     | 6 ++++--
 .../java/org/apache/hadoop/hbase/util/TestRegionSplitter.java | 7 +++++++
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/a783281b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java
index 8a2ffaa..f881d29 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java
@@ -584,8 +584,10 @@ public class RegionSplitter {
       LOG.debug("TOTAL TIME = "
           + org.apache.hadoop.util.StringUtils.formatTime(tDiff));
       LOG.debug("Splits = " + splitCount);
-      LOG.debug("Avg Time / Split = "
-          + org.apache.hadoop.util.StringUtils.formatTime(tDiff / splitCount));
+      if (0 < splitCount) {
+        LOG.debug("Avg Time / Split = "
+            + org.apache.hadoop.util.StringUtils.formatTime(tDiff / splitCount));
+      }
 
       splitOut.close();
       if (table != null){

http://git-wip-us.apache.org/repos/asf/hbase/blob/a783281b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionSplitter.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionSplitter.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionSplitter.java
index 407be0d..878e109 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionSplitter.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionSplitter.java
@@ -282,6 +282,13 @@ public class TestRegionSplitter {
         verifyBounds(expectedBounds, tableName);
     }
 
+  @Test
+  public void noopRollingSplit() throws Exception {
+    final List<byte[]> expectedBounds = new ArrayList<byte[]>();
+    expectedBounds.add(ArrayUtils.EMPTY_BYTE_ARRAY);
+    rollingSplitAndVerify(TestRegionSplitter.class.getSimpleName(), "UniformSplit", expectedBounds);
+  }
+
     private void rollingSplitAndVerify(String tableName, String splitClass,
             List<byte[]> expectedBounds)  throws Exception {
         final Configuration conf = UTIL.getConfiguration();