HBASE-19555 TestSplitTransactionOnCluster is flaky
Signed-off-by: tedyu <yuzhihong@gmail.com>
This commit is contained in:
parent
0962b518eb
commit
ef509f2ac7
|
@ -313,7 +313,7 @@ public class TestSplitTransactionOnCluster {
|
||||||
// Get region pre-split.
|
// Get region pre-split.
|
||||||
HRegionServer server = cluster.getRegionServer(tableRegionIndex);
|
HRegionServer server = cluster.getRegionServer(tableRegionIndex);
|
||||||
printOutRegions(server, "Initial regions: ");
|
printOutRegions(server, "Initial regions: ");
|
||||||
int regionCount = ProtobufUtil.getOnlineRegions(server.getRSRpcServices()).size();
|
int regionCount = cluster.getRegions(hri.getTable()).size();
|
||||||
regionStates.updateRegionState(hri, RegionState.State.CLOSING);
|
regionStates.updateRegionState(hri, RegionState.State.CLOSING);
|
||||||
|
|
||||||
// Now try splitting.... should fail. And each should successfully
|
// Now try splitting.... should fail. And each should successfully
|
||||||
|
@ -324,8 +324,7 @@ public class TestSplitTransactionOnCluster {
|
||||||
// Wait around a while and assert count of regions remains constant.
|
// Wait around a while and assert count of regions remains constant.
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
Thread.sleep(100);
|
Thread.sleep(100);
|
||||||
assertEquals(regionCount, ProtobufUtil.getOnlineRegions(
|
assertEquals(regionCount, cluster.getRegions(hri.getTable()).size());
|
||||||
server.getRSRpcServices()).size());
|
|
||||||
}
|
}
|
||||||
regionStates.updateRegionState(hri, State.OPEN);
|
regionStates.updateRegionState(hri, State.OPEN);
|
||||||
// Now try splitting and it should work.
|
// Now try splitting and it should work.
|
||||||
|
@ -367,13 +366,13 @@ public class TestSplitTransactionOnCluster {
|
||||||
// Get region pre-split.
|
// Get region pre-split.
|
||||||
HRegionServer server = cluster.getRegionServer(tableRegionIndex);
|
HRegionServer server = cluster.getRegionServer(tableRegionIndex);
|
||||||
printOutRegions(server, "Initial regions: ");
|
printOutRegions(server, "Initial regions: ");
|
||||||
int regionCount = ProtobufUtil.getOnlineRegions(server.getRSRpcServices()).size();
|
int regionCount = cluster.getRegions(hri.getTable()).size();
|
||||||
// Now split.
|
// Now split.
|
||||||
split(hri, server, regionCount);
|
split(hri, server, regionCount);
|
||||||
// Get daughters
|
// Get daughters
|
||||||
List<HRegion> daughters = checkAndGetDaughters(tableName);
|
List<HRegion> daughters = checkAndGetDaughters(tableName);
|
||||||
// Now split one of the daughters.
|
// Now split one of the daughters.
|
||||||
regionCount = ProtobufUtil.getOnlineRegions(server.getRSRpcServices()).size();
|
regionCount = cluster.getRegions(hri.getTable()).size();
|
||||||
RegionInfo daughter = daughters.get(0).getRegionInfo();
|
RegionInfo daughter = daughters.get(0).getRegionInfo();
|
||||||
LOG.info("Daughter we are going to split: " + daughter);
|
LOG.info("Daughter we are going to split: " + daughter);
|
||||||
// Compact first to ensure we have cleaned up references -- else the split
|
// Compact first to ensure we have cleaned up references -- else the split
|
||||||
|
@ -809,14 +808,13 @@ public class TestSplitTransactionOnCluster {
|
||||||
|
|
||||||
private void split(final RegionInfo hri, final HRegionServer server, final int regionCount)
|
private void split(final RegionInfo hri, final HRegionServer server, final int regionCount)
|
||||||
throws IOException, InterruptedException {
|
throws IOException, InterruptedException {
|
||||||
this.admin.splitRegion(hri.getRegionName());
|
admin.splitRegion(hri.getRegionName());
|
||||||
for (int i = 0; this.cluster.getRegions(hri.getTable()).size() <= regionCount && i < 60; i++) {
|
for (int i = 0; cluster.getRegions(hri.getTable()).size() <= regionCount && i < 60; i++) {
|
||||||
LOG.debug("Waiting on region " + hri.getRegionNameAsString() + " to split");
|
LOG.debug("Waiting on region " + hri.getRegionNameAsString() + " to split");
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertFalse("Waited too long for split",
|
assertFalse("Waited too long for split",
|
||||||
this.cluster.getRegions(hri.getTable()).size() <= regionCount);
|
cluster.getRegions(hri.getTable()).size() <= regionCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue