This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new b3f62a7 HBASE-22180 Make
TestBlockEvictionFromClient.testBlockRefCountAfterSplits more stable
b3f62a7 is described below
commit b3f62a7f592406ad58f7e8830a68c5897fe47b4a
Author: zhangduo <[email protected]>
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