HBASE-6236 revert upon Jimmy's request.

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1353013 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Zhihong Yu 2012-06-22 20:00:51 +00:00
parent 8645a42880
commit e88c89f01f
2 changed files with 9 additions and 25 deletions

View File

@ -150,9 +150,6 @@ public class HBaseFsck {
private static final int DEFAULT_OVERLAPS_TO_SIDELINE = 2; private static final int DEFAULT_OVERLAPS_TO_SIDELINE = 2;
private static final int DEFAULT_MAX_MERGE = 5; private static final int DEFAULT_MAX_MERGE = 5;
private static final String DEFAULT_SIDELINE_DIR = ".hbcktmp-" +
System.currentTimeMillis();
/********************** /**********************
* Internal resources * Internal resources
**********************/ **********************/
@ -163,6 +160,7 @@ public class HBaseFsck {
private HBaseAdmin admin; private HBaseAdmin admin;
private HTable meta; private HTable meta;
private ScheduledThreadPoolExecutor executor; // threads to retrieve data from regionservers private ScheduledThreadPoolExecutor executor; // threads to retrieve data from regionservers
private long startMillis = System.currentTimeMillis();
/*********** /***********
* Options * Options
@ -183,7 +181,6 @@ public class HBaseFsck {
private int maxMerge = DEFAULT_MAX_MERGE; // maximum number of overlapping regions to merge private int maxMerge = DEFAULT_MAX_MERGE; // maximum number of overlapping regions to merge
private int maxOverlapsToSideline = DEFAULT_OVERLAPS_TO_SIDELINE; // maximum number of overlapping regions to sideline private int maxOverlapsToSideline = DEFAULT_OVERLAPS_TO_SIDELINE; // maximum number of overlapping regions to sideline
private boolean sidelineBigOverlaps = false; // sideline overlaps with >maxMerge regions private boolean sidelineBigOverlaps = false; // sideline overlaps with >maxMerge regions
private Path sidelineDir = null;
private boolean rerun = false; // if we tried to fix something, rerun hbck private boolean rerun = false; // if we tried to fix something, rerun hbck
private static boolean summary = false; // if we want to print less output private static boolean summary = false; // if we want to print less output
@ -820,7 +817,7 @@ public class HBaseFsck {
// we can rebuild, move old root and meta out of the way and start // we can rebuild, move old root and meta out of the way and start
LOG.info("HDFS regioninfo's seems good. Sidelining old .META."); LOG.info("HDFS regioninfo's seems good. Sidelining old .META.");
Path backupDir = sidelineOldRootAndMeta(); sidelineOldRootAndMeta();
LOG.info("Creating new .META."); LOG.info("Creating new .META.");
HRegion meta = createNewRootAndMeta(); HRegion meta = createNewRootAndMeta();
@ -835,7 +832,6 @@ public class HBaseFsck {
meta.put(puts.toArray(new Put[0])); meta.put(puts.toArray(new Put[0]));
HRegion.closeHRegion(meta); HRegion.closeHRegion(meta);
LOG.info("Success! .META. table rebuilt."); LOG.info("Success! .META. table rebuilt.");
LOG.info("Old -ROOT- and .META. are moved into " + backupDir);
return true; return true;
} }
@ -859,11 +855,11 @@ public class HBaseFsck {
} }
private Path getSidelineDir() throws IOException { private Path getSidelineDir() throws IOException {
if (sidelineDir == null) { Path hbaseDir = FSUtils.getRootDir(conf);
Path hbaseDir = FSUtils.getRootDir(conf); Path hbckDir = new Path(hbaseDir.getParent(), "hbck");
sidelineDir = new Path(hbaseDir, DEFAULT_SIDELINE_DIR); Path backupDir = new Path(hbckDir, hbaseDir.getName() + "-"
} + startMillis);
return sidelineDir; return backupDir;
} }
/** /**
@ -961,7 +957,8 @@ public class HBaseFsck {
// put current -ROOT- and .META. aside. // put current -ROOT- and .META. aside.
Path hbaseDir = new Path(conf.get(HConstants.HBASE_DIR)); Path hbaseDir = new Path(conf.get(HConstants.HBASE_DIR));
FileSystem fs = hbaseDir.getFileSystem(conf); FileSystem fs = hbaseDir.getFileSystem(conf);
Path backupDir = getSidelineDir(); Path backupDir = new Path(hbaseDir.getParent(), hbaseDir.getName() + "-"
+ startMillis);
fs.mkdirs(backupDir); fs.mkdirs(backupDir);
sidelineTable(fs, HConstants.ROOT_TABLE_NAME, hbaseDir, backupDir); sidelineTable(fs, HConstants.ROOT_TABLE_NAME, hbaseDir, backupDir);
@ -2989,14 +2986,6 @@ public class HBaseFsck {
timelag = seconds * 1000; // convert to milliseconds timelag = seconds * 1000; // convert to milliseconds
} }
/**
*
* @param sidelineDir - HDFS path to sideline data
*/
public void setSidelineDir(String sidelineDir) {
this.sidelineDir = new Path(sidelineDir);
}
protected static void printUsageAndExit() { protected static void printUsageAndExit() {
System.err.println("Usage: fsck [opts] {only tables}"); System.err.println("Usage: fsck [opts] {only tables}");
System.err.println(" where [opts] are:"); System.err.println(" where [opts] are:");

View File

@ -51,8 +51,6 @@ public class OfflineMetaRepair {
System.err System.err
.println(" -details Display full report of all regions."); .println(" -details Display full report of all regions.");
System.err.println(" -base <hdfs://> Base Hbase Data directory"); System.err.println(" -base <hdfs://> Base Hbase Data directory");
System.err
.println(" -sidelineDir <hdfs://> HDFS path to backup existing meta and root.");
System.err.println(" -fix Auto fix as many problems as possible"); System.err.println(" -fix Auto fix as many problems as possible");
System.err.println(" -fixHoles Auto fix as region holes"); System.err.println(" -fixHoles Auto fix as region holes");
Runtime.getRuntime().exit(-2); Runtime.getRuntime().exit(-2);
@ -87,9 +85,6 @@ public class OfflineMetaRepair {
conf.set(HConstants.HBASE_DIR, path); conf.set(HConstants.HBASE_DIR, path);
conf.set("fs.defaultFS", conf.get(HConstants.HBASE_DIR)); conf.set("fs.defaultFS", conf.get(HConstants.HBASE_DIR));
conf.set("fs.default.name", conf.get(HConstants.HBASE_DIR)); conf.set("fs.default.name", conf.get(HConstants.HBASE_DIR));
} else if (cmd.equals("-sidelineDir")) {
i++;
fsck.setSidelineDir(args[i]);
} else if (cmd.equals("-fixHoles")) { } else if (cmd.equals("-fixHoles")) {
fixHoles = true; fixHoles = true;
} else if (cmd.equals("-fix")) { } else if (cmd.equals("-fix")) {