You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2017/10/10 00:23:08 UTC
[2/2] hbase git commit: HBASE-18923 TestTableResource flaky on
branch-1
HBASE-18923 TestTableResource flaky on branch-1
Signed-off-by: Andrew Purtell <ap...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ab8b0a36
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ab8b0a36
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ab8b0a36
Branch: refs/heads/branch-1.4
Commit: ab8b0a36624e294cc5d9690fde3fca796449b58c
Parents: 4358af2
Author: Pankaj Kumar <pa...@huawei.com>
Authored: Thu Oct 5 11:44:29 2017 +0530
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Oct 9 16:52:18 2017 -0700
----------------------------------------------------------------------
.../hadoop/hbase/rest/TestTableResource.java | 27 ++++++++++----------
1 file changed, 14 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/ab8b0a36/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java
index a7de2f1..3abcb4a 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java
@@ -42,6 +42,7 @@ import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.Waiter;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.Durability;
@@ -57,7 +58,7 @@ import org.apache.hadoop.hbase.rest.model.TableModel;
import org.apache.hadoop.hbase.rest.model.TableRegionModel;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.util.StringUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -119,26 +120,26 @@ public class TestTableResource {
table.close();
// get the initial layout (should just be one region)
- RegionLocator regionLocator = connection.getRegionLocator(TABLE);
+ final RegionLocator regionLocator = connection.getRegionLocator(TABLE);
List<HRegionLocation> m = regionLocator.getAllRegionLocations();
assertEquals(m.size(), 1);
// tell the master to split the table
admin.split(TABLE);
- // give some time for the split to happen
- long timeout = System.currentTimeMillis() + (15 * 1000);
- while (System.currentTimeMillis() < timeout && m.size()!=2){
- try {
- Thread.sleep(250);
- } catch (InterruptedException e) {
- LOG.warn(StringUtils.stringifyException(e));
+ // give some time for the split to happen
+ long timeout = EnvironmentEdgeManager.currentTime() + (15 * 1000);
+ TEST_UTIL.waitFor(timeout, 250, new Waiter.Predicate<IOException>() {
+ @Override
+ public boolean evaluate() throws IOException {
+ List<HRegionLocation> regionLocations = regionLocator.getAllRegionLocations();
+ return regionLocations.size() == 2 && regionLocations.get(0).getServerName() != null
+ && regionLocations.get(1).getServerName() != null;
}
- // check again
- m = regionLocator.getAllRegionLocations();
- }
+ });
+ m = regionLocator.getAllRegionLocations();
// should have two regions now
- assertEquals(m.size(), 2);
+ assertEquals(2, m.size());
regionMap = m;
LOG.info("regions: " + regionMap);
regionLocator.close();