diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java index 51b4a0e..6976b7f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java @@ -236,6 +236,7 @@ public class HBaseFsck extends Configured implements Closeable { * Options ***********/ private static boolean details = false; // do we display the full report + private static boolean abort = false; private long timelag = DEFAULT_TIME_LAG; // tables whose modtime is older private static boolean forceExclusive = false; // only this hbck can modify HBase private static boolean disableBalancer = false; // disable load balancer to keep regions stable @@ -706,6 +707,10 @@ public class HBaseFsck extends Configured implements Closeable { try { onlineConsistencyRepair(); + if (abort) { + LOG.info("Abort hbck!!!"); + System.exit(-1); + } } finally { // Only restore the balancer if it was true when we started repairing and @@ -4175,6 +4180,10 @@ public class HBaseFsck extends Configured implements Closeable { details = true; } + public static void setAbort() { + abort = true; + } + /** * Set exclusive mode. */ @@ -4669,6 +4678,8 @@ public class HBaseFsck extends Configured implements Closeable { String cmd = args[i]; if (cmd.equals("-help") || cmd.equals("-h")) { return printUsageAndExit(); + } else if (cmd.equals("-abort")) { + setAbort(); } else if (cmd.equals("-details")) { setDisplayFullReport(); } else if (cmd.equals("-exclusive")) {