HBASE-22180 Make TestBlockEvictionFromClient.testBlockRefCountAfterSplits more stable
This commit is contained in:
parent
08060b32b1
commit
11e84f9c68
|
@ -23,7 +23,6 @@ import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
@ -72,6 +71,8 @@ import org.junit.rules.TestName;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import org.apache.hbase.thirdparty.com.google.common.collect.Iterables;
|
||||||
|
|
||||||
@Category({ LargeTests.class, ClientTests.class })
|
@Category({ LargeTests.class, ClientTests.class })
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public class TestBlockEvictionFromClient {
|
public class TestBlockEvictionFromClient {
|
||||||
|
@ -577,7 +578,7 @@ public class TestBlockEvictionFromClient {
|
||||||
table = TEST_UTIL.createTable(tableName, FAMILIES_1, 1, 1024);
|
table = TEST_UTIL.createTable(tableName, FAMILIES_1, 1, 1024);
|
||||||
// get the block cache and region
|
// get the block cache and region
|
||||||
RegionLocator locator = TEST_UTIL.getConnection().getRegionLocator(tableName);
|
RegionLocator locator = TEST_UTIL.getConnection().getRegionLocator(tableName);
|
||||||
String regionName = locator.getAllRegionLocations().get(0).getRegionInfo().getEncodedName();
|
String regionName = locator.getAllRegionLocations().get(0).getRegion().getEncodedName();
|
||||||
HRegion region =
|
HRegion region =
|
||||||
TEST_UTIL.getRSForFirstRegionInTable(tableName).getRegion(regionName);
|
TEST_UTIL.getRSForFirstRegionInTable(tableName).getRegion(regionName);
|
||||||
HStore store = region.getStores().iterator().next();
|
HStore store = region.getStores().iterator().next();
|
||||||
|
@ -601,19 +602,12 @@ public class TestBlockEvictionFromClient {
|
||||||
put.addColumn(FAMILY, QUALIFIER2, data2);
|
put.addColumn(FAMILY, QUALIFIER2, data2);
|
||||||
table.put(put);
|
table.put(put);
|
||||||
region.flush(true);
|
region.flush(true);
|
||||||
|
ServerName rs = Iterables.getOnlyElement(TEST_UTIL.getAdmin().getRegionServers());
|
||||||
|
int regionCount = TEST_UTIL.getAdmin().getRegions(rs).size();
|
||||||
LOG.info("About to SPLIT on " + Bytes.toString(ROW1));
|
LOG.info("About to SPLIT on " + Bytes.toString(ROW1));
|
||||||
TEST_UTIL.getAdmin().split(tableName, ROW1);
|
TEST_UTIL.getAdmin().split(tableName, ROW1);
|
||||||
// Wait for splits
|
// Wait for splits
|
||||||
Collection<ServerName> regionServers = TEST_UTIL.getAdmin().getRegionServers();
|
TEST_UTIL.waitFor(60000, () -> TEST_UTIL.getAdmin().getRegions(rs).size() > regionCount);
|
||||||
Iterator<ServerName> serverItr = regionServers.iterator();
|
|
||||||
serverItr.hasNext();
|
|
||||||
ServerName rs = serverItr.next();
|
|
||||||
List<RegionInfo> onlineRegions = TEST_UTIL.getAdmin().getRegions(rs);
|
|
||||||
while (onlineRegions.size() != 2) {
|
|
||||||
onlineRegions = TEST_UTIL.getAdmin().getRegions(rs);
|
|
||||||
Thread.sleep(100);
|
|
||||||
LOG.info("Waiting on SPLIT to complete...");
|
|
||||||
}
|
|
||||||
region.compact(true);
|
region.compact(true);
|
||||||
Iterator<CachedBlock> iterator = cache.iterator();
|
Iterator<CachedBlock> iterator = cache.iterator();
|
||||||
// Though the split had created the HalfStorefileReader - the firstkey and lastkey scanners
|
// Though the split had created the HalfStorefileReader - the firstkey and lastkey scanners
|
||||||
|
|
Loading…
Reference in New Issue