public static void main(String[] args) throws Exception { ArgP argp = new ArgP(); CliOptions.addCommon(argp); argp.addOption("--fix", "Fix errors as they're found."); args = CliOptions.parse(argp, args); if (args == null) { usage(argp, "Invalid usage.", 1); } else if (args.length < 3) { usage(argp, "Not enough arguments.", 2); } final HBaseClient client = CliOptions.clientFromOptions(argp); final byte[] table = argp.get("--table", "tsdb").getBytes(); final TSDB tsdb = new TSDB(client, argp.get("--table", "tsdb"), argp.get("--uidtable", "tsdb-uid")); final boolean fix = argp.has("--fix"); argp = null; int errors = 42; try { errors = fsck(tsdb, client, table, fix, args); } finally { tsdb.shutdown().joinUninterruptibly(); } System.exit(errors == 0 ? 0 : 1); }