diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.java index 7f201953c03..5d852efa781 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.java @@ -23,7 +23,6 @@ import static org.junit.Assert.assertTrue; import java.io.IOException; import java.util.ArrayList; -import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Optional; @@ -72,6 +71,8 @@ import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.hbase.thirdparty.com.google.common.collect.Iterables; + @Category({ LargeTests.class, ClientTests.class }) @SuppressWarnings("deprecation") public class TestBlockEvictionFromClient { @@ -577,7 +578,7 @@ public class TestBlockEvictionFromClient { table = TEST_UTIL.createTable(tableName, FAMILIES_1, 1, 1024); // get the block cache and region 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 = TEST_UTIL.getRSForFirstRegionInTable(tableName).getRegion(regionName); HStore store = region.getStores().iterator().next(); @@ -601,19 +602,12 @@ public class TestBlockEvictionFromClient { put.addColumn(FAMILY, QUALIFIER2, data2); table.put(put); 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)); TEST_UTIL.getAdmin().split(tableName, ROW1); // Wait for splits - Collection regionServers = TEST_UTIL.getAdmin().getRegionServers(); - Iterator serverItr = regionServers.iterator(); - serverItr.hasNext(); - ServerName rs = serverItr.next(); - List 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..."); - } + TEST_UTIL.waitFor(60000, () -> TEST_UTIL.getAdmin().getRegions(rs).size() > regionCount); region.compact(true); Iterator iterator = cache.iterator(); // Though the split had created the HalfStorefileReader - the firstkey and lastkey scanners