in hbase-hbck2/src/main/java/org/apache/hbase/HBCK2.java [432:469]
List<Boolean> bypass(String[] args) throws IOException {
// Bypass has two options....
Options options = new Options();
// See usage for 'help' on these options.
Option override = Option.builder("o").longOpt("override").build();
options.addOption(override);
Option recursive = Option.builder("r").longOpt("recursive").build();
options.addOption(recursive);
Option wait = Option.builder("w").longOpt("lockWait").hasArg().type(Integer.class).build();
options.addOption(wait);
Option inputFile = Option.builder("i").longOpt("inputFiles").build();
options.addOption(inputFile);
// Parse command-line.
CommandLine commandLine = getCommandLine(args, options);
if (commandLine == null) {
return null;
}
long lockWait = DEFAULT_LOCK_WAIT;
if (commandLine.hasOption(wait.getOpt())) {
lockWait = Integer.parseInt(commandLine.getOptionValue(wait.getOpt()));
}
boolean overrideFlag = commandLine.hasOption(override.getOpt());
boolean recursiveFlag = commandLine.hasOption(recursive.getOpt());
boolean inputFileFlag = commandLine.hasOption(inputFile.getOpt());
String[] pidStrs = getFromArgsOrFiles(commandLine.getArgList(), inputFileFlag)
.toArray(new String[0]);
if (pidStrs == null || pidStrs.length <= 0) {
showErrorMessage("No pids supplied.");
return null;
}
List<Long> pids = Arrays.stream(pidStrs).map(Long::valueOf).collect(Collectors.toList());
try (ClusterConnection connection = connect(); Hbck hbck = connection.getHbck()) {
checkFunctionSupported(connection, BYPASS);
return hbck.bypassProcedure(pids, lockWait, overrideFlag, recursiveFlag);
}
}