Index: src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogSplit.java =================================================================== --- src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogSplit.java (revision 999511) +++ src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogSplit.java (working copy) @@ -38,6 +38,7 @@ import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.KeyValue; @@ -129,6 +130,22 @@ public void tearDown() throws Exception { } + /** + * @throws IOException + * @see https://issues.apache.org/jira/browse/HBASE-3020 + */ + @Test public void testRecoveredEditsPathForMeta() throws IOException { + FileSystem fs = FileSystem.get(TEST_UTIL.getConfiguration()); + byte [] encoded = HRegionInfo.FIRST_META_REGIONINFO.getEncodedNameAsBytes(); + long now = System.currentTimeMillis(); + HLog.Entry entry = + new HLog.Entry(new HLogKey(encoded, HConstants.META_TABLE_NAME, 1, now), + new WALEdit()); + Path p = HLog.getRegionSplitEditsPath(fs, entry, new Path("/")); + assertEquals(p.getParent().getParent(), + HRegionInfo.FIRST_META_REGIONINFO.getEncodedName()); + } + @Test(expected = IOException.class) public void testSplitFailsIfNewHLogGetsCreatedAfterSplitStarted() throws IOException { Index: src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (revision 999511) +++ src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (working copy) @@ -1705,7 +1705,7 @@ * @return Path to file into which to dump split log edits. * @throws IOException */ - private static Path getRegionSplitEditsPath(final FileSystem fs, + static Path getRegionSplitEditsPath(final FileSystem fs, final Entry logEntry, final Path rootDir) throws IOException { Path tableDir = HTableDescriptor.getTableDir(rootDir, Index: src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (revision 999511) +++ src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (working copy) @@ -33,7 +33,6 @@ import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; -import java.util.concurrent.locks.ReentrantLock; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;