Index: src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java (revision 1004852) +++ src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java (working copy) @@ -296,10 +296,11 @@ "hbase.regionserver.hlog.splitlog.writer.threads", 3); boolean skipErrors = conf.getBoolean("hbase.skip.errors", false); HashMap writeFutureResult = new HashMap(); - ThreadFactoryBuilder builder = new ThreadFactoryBuilder(); - builder.setNameFormat("SplitWriter-%1$d"); + ThreadFactoryBuilder builder = new ThreadFactoryBuilder(); + builder.setNameFormat("SplitWriter-%1$d"); ThreadFactory factory = builder.build(); - ThreadPoolExecutor threadPool = (ThreadPoolExecutor)Executors.newFixedThreadPool(logWriterThreads, factory); + ThreadPoolExecutor threadPool = + (ThreadPoolExecutor)Executors.newFixedThreadPool(logWriterThreads, factory); for (final byte[] region : splitLogsMap.keySet()) { Callable splitter = createNewSplitter(rootDir, logWriters, splitLogsMap, region, fs, conf); Index: src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (revision 1004852) +++ src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (working copy) @@ -1513,6 +1513,8 @@ Configuration conf = HBaseConfiguration.create(); for (int i = 1; i < args.length; i++) { try { + conf.set("fs.default.name", args[i]); + conf.set("fs.defaultFS", args[i]); Path logPath = new Path(args[i]); if (dump) { dump(conf, logPath); Index: src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (revision 1004852) +++ src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (working copy) @@ -587,6 +587,12 @@ * @param regionName server to be assigned */ public void assign(HRegionInfo region) { + String tableName = region.getTableDesc().getNameAsString(); + if (isTableDisabled(tableName)) { + LOG.info("Table " + tableName + " disabled; skipping assign of " + + region.getRegionNameAsString()); + return; + } RegionState state = addToRegionsInTransition(region); synchronized (state) { assign(state); Index: src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java (revision 1004852) +++ src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java (working copy) @@ -68,6 +68,10 @@ } private void handleDisableTable() throws IOException { + if (this.assignmentManager.isTableDisabled(this.tableNameStr)) { + LOG.info("Table " + tableNameStr + " is already disabled; skipping disable"); + return; + } // Set the table as disabled so it doesn't get re-onlined assignmentManager.disableTable(this.tableNameStr); // Get the online regions of this table. Index: src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java (revision 1004852) +++ src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java (working copy) @@ -67,6 +67,10 @@ } private void handleEnableTable() throws IOException { + if (!this.assignmentManager.isTableDisabled(this.tableNameStr)) { + LOG.info("Table " + tableNameStr + " is not disabled; skipping enable"); + return; + } // Get the regions of this table List regions = MetaReader.getTableRegions(this.ct, tableName); // Set the table as disabled so it doesn't get re-onlined