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();
}