You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jm...@apache.org on 2013/11/18 21:21:26 UTC

svn commit: r1543137 - /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java

Author: jmhsieh
Date: Mon Nov 18 20:21:25 2013
New Revision: 1543137

URL: http://svn.apache.org/r1543137
Log:
HBASE-9831 'hbasefsck.numthreads' property isn't passed to hbck via cmdline -D option (Takeshi Miao)

Modified:
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java?rev=1543137&r1=1543136&r2=1543137&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java Mon Nov 18 20:21:25 2013
@@ -267,8 +267,7 @@ public class HBaseFsck extends Configure
     super(conf);
     errors = getErrorReporter(conf);
 
-    int numThreads = conf.getInt("hbasefsck.numthreads", MAX_NUM_THREADS);
-    executor = new ScheduledThreadPoolExecutor(numThreads, Threads.newDaemonThreadFactory("hbasefsck"));
+    initialPoolNumThreads();
   }
 
   /**
@@ -300,6 +299,18 @@ public class HBaseFsck extends Configure
   }
 
   /**
+   * Initial numThreads for {@link #executor}
+   */
+  private void initialPoolNumThreads() {
+    if (executor != null) {
+      executor.shutdown();
+    }
+  
+    int numThreads = getConf().getInt("hbasefsck.numthreads", MAX_NUM_THREADS);
+    executor = new ScheduledThreadPoolExecutor(numThreads, Threads.newDaemonThreadFactory("hbasefsck"));
+  }
+
+  /**
    * Get deployed regions according to the region servers.
    */
   private void loadDeployedRegions() throws IOException, InterruptedException {
@@ -3596,6 +3607,9 @@ public class HBaseFsck extends Configure
 
   @Override
   public int run(String[] args) throws Exception {
+    // reset the numThreads due to user may set it via generic options
+    initialPoolNumThreads();
+
     exec(executor, args);
     return getRetCode();
   }