diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitWalDataLoss.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitWalDataLoss.java index 102e7bc..6687778 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitWalDataLoss.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitWalDataLoss.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.spy; import java.io.IOException; import java.util.Collection; +import java.util.Map; import org.apache.commons.lang.mutable.MutableBoolean; import org.apache.commons.logging.Log; @@ -79,7 +80,7 @@ public class TestSplitWalDataLoss { public void setUp() throws Exception { testUtil.getConfiguration().setInt("hbase.regionserver.msginterval", 30000); testUtil.getConfiguration().setBoolean(HConstants.DISTRIBUTED_LOG_REPLAY_KEY, false); - testUtil.startMiniCluster(2); + testUtil.startMiniCluster(1); HBaseAdmin admin = testUtil.getHBaseAdmin(); admin.createNamespace(namespace); admin.createTable(new HTableDescriptor(tableName).addFamily(new HColumnDescriptor(family))); @@ -117,7 +118,15 @@ public class TestSplitWalDataLoss { }).when(spiedRegion).internalFlushCacheAndCommit(Matchers. any(), Matchers. any(), Matchers. any(), Matchers.> any()); - rs.onlineRegions.put(rs.onlineRegions.keySet().iterator().next(), spiedRegion); + // Find region key; don't pick up key for hbase:meta by mistake. + String key = null; + for (Map.Entry entry: rs.onlineRegions.entrySet()) { + if (entry.getValue().getRegionInfo().getTable().equals(this.tableName)) { + key = entry.getKey(); + break; + } + } + rs.onlineRegions.put(key, spiedRegion); Connection conn = testUtil.getConnection(); try (Table table = conn.getTable(tableName)) {