This is an automated email from the ASF dual-hosted git repository.

openinx pushed a commit to branch HBASE-21879
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 41c7f25a6021dd292f696df1ccbcd29b55756b1e
Author: zhangduo <zhang...@apache.org>
AuthorDate: Sat Apr 6 22:23:41 2019 +0800

    HBASE-22180 Make TestBlockEvictionFromClient.testBlockRefCountAfterSplits 
more stable
---
 .../hbase/client/TestBlockEvictionFromClient.java      | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

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 7f20195..5d852ef 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<ServerName> regionServers = 
TEST_UTIL.getAdmin().getRegionServers();
-      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...");
-      }
+      TEST_UTIL.waitFor(60000, () -> 
TEST_UTIL.getAdmin().getRegions(rs).size() > regionCount);
       region.compact(true);
       Iterator<CachedBlock> iterator = cache.iterator();
       // Though the split had created the HalfStorefileReader - the firstkey 
and lastkey scanners

Reply via email to