hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From syuanji...@apache.org
Subject [15/23] hbase git commit: HBASE-14723 Fix IT tests split too many times
Date Thu, 05 Nov 2015 17:37:08 GMT
HBASE-14723 Fix IT tests split too many times


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

Branch: refs/heads/hbase-12439
Commit: ebd2df723fb644e750bb8adda5a7258689d35fcc
Parents: cfc5348
Author: Elliott Clark <eclark@apache.org>
Authored: Fri Oct 30 09:14:14 2015 -0700
Committer: Elliott Clark <eclark@apache.org>
Committed: Wed Nov 4 11:55:38 2015 -0800

----------------------------------------------------------------------
 .../actions/SplitAllRegionOfTableAction.java    | 26 ++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/ebd2df72/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java
b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java
index 3c76ebf..5b29d00 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitAllRegionOfTableAction.java
@@ -21,15 +21,28 @@ import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
 
+import java.io.IOException;
+import java.util.concurrent.ThreadLocalRandom;
+
 
 public class SplitAllRegionOfTableAction extends Action {
+  private static final int DEFAULT_MAX_SPLITS = 3;
+  private static final String MAX_SPLIT_KEY = "hbase.chaosmonkey.action.maxFullTableSplits";
+
   private final TableName tableName;
+  private int maxFullTableSplits = DEFAULT_MAX_SPLITS;
+  private int splits = 0;
 
   public SplitAllRegionOfTableAction(TableName tableName) {
     this.tableName = tableName;
   }
 
 
+  public void init(ActionContext context) throws IOException {
+    super.init(context);
+    this.maxFullTableSplits = getConf().getInt(MAX_SPLIT_KEY, DEFAULT_MAX_SPLITS);
+  }
+
   @Override
   public void perform() throws Exception {
     HBaseTestingUtility util = context.getHBaseIntegrationTestingUtility();
@@ -38,7 +51,16 @@ public class SplitAllRegionOfTableAction extends Action {
     if (context.isStopping()) {
       return;
     }
-    LOG.info("Performing action: Split all regions of  " + tableName);
-    admin.split(tableName);
+
+
+    // Don't always split. This should allow splitting of a full table later in the run
+    if (ThreadLocalRandom.current().nextDouble()
+        < (((double) splits) / ((double) maxFullTableSplits)) / ((double) 2)) {
+      splits++;
+      LOG.info("Performing action: Split all regions of  " + tableName);
+      admin.split(tableName);
+    } else {
+      LOG.info("Skipping split of all regions.");
+    }
   }
 }


Mime
View raw message