hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From te...@apache.org
Subject hbase git commit: HBASE-18629 Enhance ChaosMonkeyRunner with interruptibility
Date Mon, 21 Aug 2017 15:47:39 GMT
Repository: hbase
Updated Branches:
  refs/heads/HBASE-14850 583d4e2d4 -> 000c14328


HBASE-18629 Enhance ChaosMonkeyRunner with interruptibility


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

Branch: refs/heads/HBASE-14850
Commit: 000c14328f71ba710b2564b96893b5c524227353
Parents: 583d4e2
Author: tedyu <yuzhihong@gmail.com>
Authored: Mon Aug 21 08:47:06 2017 -0700
Committer: tedyu <yuzhihong@gmail.com>
Committed: Mon Aug 21 08:47:06 2017 -0700

----------------------------------------------------------------------
 .../hbase/chaos/util/ChaosMonkeyRunner.java     | 26 ++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/000c1432/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java
b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java
index 1ee7d93..7c56a33 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.java
@@ -52,6 +52,7 @@ public class ChaosMonkeyRunner extends AbstractHBaseTool {
   protected boolean noClusterCleanUp = false;
   private String tableName = "ChaosMonkeyRunner.tableName";
   private String familyName = "ChaosMonkeyRunner.familyName";
+  private volatile boolean stop = false;
 
   @Override
   public void addOptions() {
@@ -92,9 +93,14 @@ public class ChaosMonkeyRunner extends AbstractHBaseTool {
   protected int doWork() throws Exception {
     setUpCluster();
     getAndStartMonkey();
-    while (true) {// loop here until got killed
+    while (!stop) {// loop here until got killed
       Thread.sleep(10000);
     }
+    return 0;
+  }
+
+  public void stopRunner() {
+    stop = true;
   }
 
   public void setUpCluster() throws Exception {
@@ -151,10 +157,26 @@ public class ChaosMonkeyRunner extends AbstractHBaseTool {
     return Sets.newHashSet(familyName);
   }
 
+  /*
+   * If caller wants to add config parameters contained in a file, the path of conf file
+   * can be passed as the first two arguments like this:
+   *   -c <path-to-conf>
+   */
   public static void main(String[] args) throws Exception {
     Configuration conf = HBaseConfiguration.create();
+    String[] actualArgs = args;
+    if (args.length > 0 && "-c".equals(args[0])) {
+      int argCount = args.length - 2;
+      if (argCount < 0) {
+        throw new IllegalArgumentException("Missing path for -c parameter");
+      }
+      // load the resource specified by the second parameter
+      conf.addResource(args[1]);
+      actualArgs = new String[argCount];
+      System.arraycopy(args, 2, actualArgs, 0, argCount);
+    }
     IntegrationTestingUtility.setUseDistributedCluster(conf);
-    int ret = ToolRunner.run(conf, new ChaosMonkeyRunner(), args);
+    int ret = ToolRunner.run(conf, new ChaosMonkeyRunner(), actualArgs);
     System.exit(ret);
   }
 


Mime
View raw message