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 2015/05/11 23:03:32 UTC

[3/3] hbase git commit: HBASE-13412 ADDENDUM Region split decisions should have jitter

HBASE-13412 ADDENDUM Region split decisions should have jitter

For 0.98 only, by default do not change ConstantSizeRegionSplitPolicy
default behavior.


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

Branch: refs/heads/0.98
Commit: dfc066ee83243695b27231af2a0be5cddefa4fb1
Parents: ee72568
Author: Andrew Purtell <ap...@apache.org>
Authored: Mon May 11 13:39:56 2015 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon May 11 13:43:04 2015 -0700

----------------------------------------------------------------------
 .../hbase/regionserver/ConstantSizeRegionSplitPolicy.java      | 6 ++++--
 .../hadoop/hbase/regionserver/TestRegionSplitPolicy.java       | 3 +++
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/dfc066ee/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java
index ae7fdae..9ef7a9f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java
@@ -52,8 +52,10 @@ public class ConstantSizeRegionSplitPolicy extends RegionSplitPolicy {
       this.desiredMaxFileSize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,
         HConstants.DEFAULT_MAX_FILE_SIZE);
     }
-    double jitter = conf.getDouble("hbase.hregion.max.filesize.jitter", 0.25D);
-    this.desiredMaxFileSize += (long)(desiredMaxFileSize * (RANDOM.nextFloat() - 0.5D) * jitter);
+    double jitter = conf.getDouble("hbase.hregion.max.filesize.jitter", Double.NaN);
+    if (!Double.isNaN(jitter)) {
+      this.desiredMaxFileSize += (long)(desiredMaxFileSize * (RANDOM.nextFloat() - 0.5D) * jitter);
+    }
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/dfc066ee/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
index 843fba8..f24b0b8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
@@ -67,6 +67,8 @@ public class TestRegionSplitPolicy {
     // Configure IncreasingToUpperBoundRegionSplitPolicy as our split policy
     conf.set(HConstants.HBASE_REGION_SPLIT_POLICY_KEY,
       IncreasingToUpperBoundRegionSplitPolicy.class.getName());
+    conf.setDouble("hbase.hregion.max.filesize.jitter", 0.25D);
+
     // Now make it so the mock region has a RegionServerService that will
     // return 'online regions'.
     RegionServerServices rss = Mockito.mock(RegionServerServices.class);
@@ -131,6 +133,7 @@ public class TestRegionSplitPolicy {
   @Test
   public void testCreateDefault() throws IOException {
     conf.setLong(HConstants.HREGION_MAX_FILESIZE, 1234L);
+    conf.setDouble("hbase.hregion.max.filesize.jitter", 0.25D);
 
     // Using a default HTD, should pick up the file size from
     // configuration.