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:29 UTC
svn commit: r1543139 -
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
Author: jmhsieh
Date: Mon Nov 18 20:21:28 2013
New Revision: 1543139
URL: http://svn.apache.org/r1543139
Log:
HBASE-9831 'hbasefsck.numthreads' property isn't passed to hbck via cmdline -D option (Takeshi Miao)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java?rev=1543139&r1=1543138&r2=1543139&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java Mon Nov 18 20:21:28 2013
@@ -96,7 +96,6 @@ import org.apache.hadoop.hbase.zookeeper
import org.apache.hadoop.hbase.zookeeper.ZKTableReadOnly;
import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
import org.apache.hadoop.security.AccessControlException;
-import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.util.ReflectionUtils;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
@@ -252,8 +251,7 @@ public class HBaseFsck extends Configure
super(conf);
errors = getErrorReporter(conf);
- int numThreads = conf.getInt("hbasefsck.numthreads", MAX_NUM_THREADS);
- executor = new ScheduledThreadPoolExecutor(numThreads);
+ initialPoolNumThreads();
}
/**
@@ -285,6 +283,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);
+ }
+
+ /**
* Get deployed regions according to the region servers.
*/
private void loadDeployedRegions() throws IOException, InterruptedException {
@@ -3486,6 +3496,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();
}