HBASE-9992 [hbck] Refactor so that arbitrary -D cmdline options are included
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1544870 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5824f11f55
commit
129ce2523d
|
@ -164,7 +164,7 @@ import com.google.protobuf.ServiceException;
|
||||||
*/
|
*/
|
||||||
@InterfaceAudience.Public
|
@InterfaceAudience.Public
|
||||||
@InterfaceStability.Evolving
|
@InterfaceStability.Evolving
|
||||||
public class HBaseFsck extends Configured implements Tool {
|
public class HBaseFsck extends Configured {
|
||||||
public static final long DEFAULT_TIME_LAG = 60000; // default value of 1 minute
|
public static final long DEFAULT_TIME_LAG = 60000; // default value of 1 minute
|
||||||
public static final long DEFAULT_SLEEP_BEFORE_RERUN = 10000;
|
public static final long DEFAULT_SLEEP_BEFORE_RERUN = 10000;
|
||||||
private static final int MAX_NUM_THREADS = 50; // #threads to contact regions
|
private static final int MAX_NUM_THREADS = 50; // #threads to contact regions
|
||||||
|
@ -267,7 +267,8 @@ public class HBaseFsck extends Configured implements Tool {
|
||||||
super(conf);
|
super(conf);
|
||||||
errors = getErrorReporter(conf);
|
errors = getErrorReporter(conf);
|
||||||
|
|
||||||
initialPoolNumThreads();
|
int numThreads = conf.getInt("hbasefsck.numthreads", MAX_NUM_THREADS);
|
||||||
|
executor = new ScheduledThreadPoolExecutor(numThreads, Threads.newDaemonThreadFactory("hbasefsck"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -298,18 +299,6 @@ public class HBaseFsck extends Configured implements Tool {
|
||||||
connection = admin.getConnection();
|
connection = admin.getConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 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.
|
* Get deployed regions according to the region servers.
|
||||||
*/
|
*/
|
||||||
|
@ -3601,18 +3590,23 @@ public class HBaseFsck extends Configured implements Tool {
|
||||||
URI defaultFs = hbasedir.getFileSystem(conf).getUri();
|
URI defaultFs = hbasedir.getFileSystem(conf).getUri();
|
||||||
FSUtils.setFsDefault(conf, new Path(defaultFs));
|
FSUtils.setFsDefault(conf, new Path(defaultFs));
|
||||||
|
|
||||||
int ret = ToolRunner.run(new HBaseFsck(conf), args);
|
int ret = ToolRunner.run(new HBaseFsckTool(conf), args);
|
||||||
System.exit(ret);
|
System.exit(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/**
|
||||||
public int run(String[] args) throws Exception {
|
* This is a Tool wrapper that gathers -Dxxx=yyy configuration settings from the command line.
|
||||||
// reset the numThreads due to user may set it via generic options
|
*/
|
||||||
initialPoolNumThreads();
|
static class HBaseFsckTool extends Configured implements Tool {
|
||||||
|
HBaseFsckTool(Configuration conf) { super(conf); }
|
||||||
exec(executor, args);
|
@Override
|
||||||
return getRetCode();
|
public int run(String[] args) throws Exception {
|
||||||
}
|
HBaseFsck hbck = new HBaseFsck(getConf());
|
||||||
|
hbck.exec(hbck.executor, args);
|
||||||
|
return hbck.getRetCode();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
public HBaseFsck exec(ExecutorService exec, String[] args) throws KeeperException, IOException,
|
public HBaseFsck exec(ExecutorService exec, String[] args) throws KeeperException, IOException,
|
||||||
ServiceException, InterruptedException {
|
ServiceException, InterruptedException {
|
||||||
|
|
Loading…
Reference in New Issue