[6/6] hbase git commit: HBASE-20016 TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky

2018-02-26 Thread busbey
HBASE-20016 
TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky

(cherry picked from commit 08b993997404aad7ec8f66b8c2b2083062c9ef1a)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/41cd37cf
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/41cd37cf
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/41cd37cf

Branch: refs/heads/branch-1.2
Commit: 41cd37cffc690d056edf1ca10d5cbc07d02373c5
Parents: 4b79555
Author: Chia-Ping Tsai 
Authored: Sun Feb 18 21:22:58 2018 +0800
Committer: Sean Busbey 
Committed: Mon Feb 26 10:46:57 2018 -0600

--
 .../TestCatalogJanitorInMemoryStates.java   | 52 +---
 1 file changed, 22 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/41cd37cf/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
index 6ea7e2f..40396ba 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
@@ -124,7 +124,7 @@ public class TestCatalogJanitorInMemoryStates {
* AM's serverHoldings and
*/
   @Test(timeout = 18)
-  public void testInMemoryForReplicaParentCleanup() throws IOException, 
InterruptedException {
+  public void testInMemoryForReplicaParentCleanup() throws Exception {
 final AssignmentManager am = 
TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager();
 final CatalogJanitor janitor = 
TEST_UTIL.getHBaseCluster().getMaster().catalogJanitorChore;
 
@@ -139,35 +139,27 @@ public class TestCatalogJanitorInMemoryStates {
 // There are two regions, one for primary, one for the replica.
 assertTrue(allRegionLocations.size() == 2);
 
-HRegionLocation replicaParentRegion, primaryParentRegion;
-if (RegionReplicaUtil.isDefaultReplica(
-allRegionLocations.get(0).getRegionInfo().getReplicaId())) {
-  primaryParentRegion = allRegionLocations.get(0);
-  replicaParentRegion = allRegionLocations.get(1);
-} else {
-  primaryParentRegion = allRegionLocations.get(1);
-  replicaParentRegion = allRegionLocations.get(0);
-}
-
-List primaryDaughters = 
splitRegion(primaryParentRegion.getRegionInfo(),
-Bytes.toBytes("a"));
-
-// Wait until the replica parent region is offline.
-while 
(am.getRegionStates().isRegionOnline(replicaParentRegion.getRegionInfo())) {
-  Thread.sleep(100);
-}
-
-assertNotNull("Should have found daughter regions for " + 
primaryDaughters, primaryDaughters);
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
-primaryParentRegion.getRegionInfo()));
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
-replicaParentRegion.getRegionInfo()));
+final HRegionLocation primaryParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(0)
+: allRegionLocations.get(1);
+final HRegionLocation replicaParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(1)
+  : allRegionLocations.get(0);
+
+assertNotNull("Should have found daughter regions for " + 
primaryParentRegion,
+  splitRegion(primaryParentRegion.getRegionInfo(), Bytes.toBytes("a")));
+
+TEST_UTIL.waitFor(60 * 1000, new Waiter.Predicate() {
+  @Override
+  public boolean evaluate() throws Exception {
+return 
!am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
+  primaryParentRegion.getRegionInfo()) &&
+  
!am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
+replicaParentRegion.getRegionInfo());
+  }
+});
   }
 
   /*



[3/6] hbase git commit: HBASE-20016 TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky

2018-02-26 Thread busbey
HBASE-20016 
TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky

(cherry picked from commit 08b993997404aad7ec8f66b8c2b2083062c9ef1a)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5f96c356
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5f96c356
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5f96c356

Branch: refs/heads/branch-1.3
Commit: 5f96c356b8dddaf20f8df3207117400999097127
Parents: 5ed1f41
Author: Chia-Ping Tsai 
Authored: Sun Feb 18 21:22:58 2018 +0800
Committer: Sean Busbey 
Committed: Mon Feb 26 09:47:31 2018 -0600

--
 .../TestCatalogJanitorInMemoryStates.java   | 52 +---
 1 file changed, 22 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/5f96c356/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
index 6ea7e2f..40396ba 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
@@ -124,7 +124,7 @@ public class TestCatalogJanitorInMemoryStates {
* AM's serverHoldings and
*/
   @Test(timeout = 18)
-  public void testInMemoryForReplicaParentCleanup() throws IOException, 
InterruptedException {
+  public void testInMemoryForReplicaParentCleanup() throws Exception {
 final AssignmentManager am = 
TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager();
 final CatalogJanitor janitor = 
TEST_UTIL.getHBaseCluster().getMaster().catalogJanitorChore;
 
@@ -139,35 +139,27 @@ public class TestCatalogJanitorInMemoryStates {
 // There are two regions, one for primary, one for the replica.
 assertTrue(allRegionLocations.size() == 2);
 
-HRegionLocation replicaParentRegion, primaryParentRegion;
-if (RegionReplicaUtil.isDefaultReplica(
-allRegionLocations.get(0).getRegionInfo().getReplicaId())) {
-  primaryParentRegion = allRegionLocations.get(0);
-  replicaParentRegion = allRegionLocations.get(1);
-} else {
-  primaryParentRegion = allRegionLocations.get(1);
-  replicaParentRegion = allRegionLocations.get(0);
-}
-
-List primaryDaughters = 
splitRegion(primaryParentRegion.getRegionInfo(),
-Bytes.toBytes("a"));
-
-// Wait until the replica parent region is offline.
-while 
(am.getRegionStates().isRegionOnline(replicaParentRegion.getRegionInfo())) {
-  Thread.sleep(100);
-}
-
-assertNotNull("Should have found daughter regions for " + 
primaryDaughters, primaryDaughters);
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
-primaryParentRegion.getRegionInfo()));
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
-replicaParentRegion.getRegionInfo()));
+final HRegionLocation primaryParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(0)
+: allRegionLocations.get(1);
+final HRegionLocation replicaParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(1)
+  : allRegionLocations.get(0);
+
+assertNotNull("Should have found daughter regions for " + 
primaryParentRegion,
+  splitRegion(primaryParentRegion.getRegionInfo(), Bytes.toBytes("a")));
+
+TEST_UTIL.waitFor(60 * 1000, new Waiter.Predicate() {
+  @Override
+  public boolean evaluate() throws Exception {
+return 
!am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
+  primaryParentRegion.getRegionInfo()) &&
+  
!am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
+replicaParentRegion.getRegionInfo());
+  }
+});
   }
 
   /*



hbase git commit: HBASE-20016 TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky

2018-02-21 Thread chia7712
Repository: hbase
Updated Branches:
  refs/heads/branch-1 a189674b4 -> af1f7cf43


HBASE-20016 
TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/af1f7cf4
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/af1f7cf4
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/af1f7cf4

Branch: refs/heads/branch-1
Commit: af1f7cf4314bbf433bf0117f3045a106aee39c80
Parents: a189674
Author: Chia-Ping Tsai 
Authored: Sun Feb 18 21:22:58 2018 +0800
Committer: Chia-Ping Tsai 
Committed: Thu Feb 22 09:44:37 2018 +0800

--
 .../TestCatalogJanitorInMemoryStates.java   | 52 +---
 1 file changed, 22 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/af1f7cf4/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
index 5ec3d6a..301ff6b 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
@@ -124,7 +124,7 @@ public class TestCatalogJanitorInMemoryStates {
* AM's serverHoldings and
*/
   @Test(timeout = 18)
-  public void testInMemoryForReplicaParentCleanup() throws IOException, 
InterruptedException {
+  public void testInMemoryForReplicaParentCleanup() throws Exception {
 final AssignmentManager am = 
TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager();
 final CatalogJanitor janitor = 
TEST_UTIL.getHBaseCluster().getMaster().catalogJanitorChore;
 
@@ -139,35 +139,27 @@ public class TestCatalogJanitorInMemoryStates {
 // There are two regions, one for primary, one for the replica.
 assertTrue(allRegionLocations.size() == 2);
 
-HRegionLocation replicaParentRegion, primaryParentRegion;
-if (RegionReplicaUtil.isDefaultReplica(
-allRegionLocations.get(0).getRegionInfo().getReplicaId())) {
-  primaryParentRegion = allRegionLocations.get(0);
-  replicaParentRegion = allRegionLocations.get(1);
-} else {
-  primaryParentRegion = allRegionLocations.get(1);
-  replicaParentRegion = allRegionLocations.get(0);
-}
-
-List primaryDaughters = 
splitRegion(primaryParentRegion.getRegionInfo(),
-Bytes.toBytes("a"));
-
-// Wait until the replica parent region is offline.
-while 
(am.getRegionStates().isRegionOnline(replicaParentRegion.getRegionInfo())) {
-  Thread.sleep(100);
-}
-
-assertNotNull("Should have found daughter regions for " + 
primaryDaughters, primaryDaughters);
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
-primaryParentRegion.getRegionInfo()));
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
-replicaParentRegion.getRegionInfo()));
+final HRegionLocation primaryParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(0)
+: allRegionLocations.get(1);
+final HRegionLocation replicaParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(1)
+  : allRegionLocations.get(0);
+
+assertNotNull("Should have found daughter regions for " + 
primaryParentRegion,
+  splitRegion(primaryParentRegion.getRegionInfo(), Bytes.toBytes("a")));
+
+TEST_UTIL.waitFor(60 * 1000, new Waiter.Predicate() {
+  @Override
+  public boolean evaluate() throws Exception {
+return 
!am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
+  primaryParentRegion.getRegionInfo()) &&
+  
!am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
+replicaParentRegion.getRegionInfo());
+  }
+});
   }
 
   /*



hbase git commit: HBASE-20016 TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky

2018-02-21 Thread chia7712
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 a01323b2c -> 08b993997


HBASE-20016 
TestCatalogJanitorInMemoryStates#testInMemoryForReplicaParentCleanup is flaky


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/08b99399
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/08b99399
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/08b99399

Branch: refs/heads/branch-1.4
Commit: 08b993997404aad7ec8f66b8c2b2083062c9ef1a
Parents: a01323b
Author: Chia-Ping Tsai 
Authored: Sun Feb 18 21:22:58 2018 +0800
Committer: Chia-Ping Tsai 
Committed: Thu Feb 22 09:15:54 2018 +0800

--
 .../TestCatalogJanitorInMemoryStates.java   | 52 +---
 1 file changed, 22 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/08b99399/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
index 5ec3d6a..301ff6b 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java
@@ -124,7 +124,7 @@ public class TestCatalogJanitorInMemoryStates {
* AM's serverHoldings and
*/
   @Test(timeout = 18)
-  public void testInMemoryForReplicaParentCleanup() throws IOException, 
InterruptedException {
+  public void testInMemoryForReplicaParentCleanup() throws Exception {
 final AssignmentManager am = 
TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager();
 final CatalogJanitor janitor = 
TEST_UTIL.getHBaseCluster().getMaster().catalogJanitorChore;
 
@@ -139,35 +139,27 @@ public class TestCatalogJanitorInMemoryStates {
 // There are two regions, one for primary, one for the replica.
 assertTrue(allRegionLocations.size() == 2);
 
-HRegionLocation replicaParentRegion, primaryParentRegion;
-if (RegionReplicaUtil.isDefaultReplica(
-allRegionLocations.get(0).getRegionInfo().getReplicaId())) {
-  primaryParentRegion = allRegionLocations.get(0);
-  replicaParentRegion = allRegionLocations.get(1);
-} else {
-  primaryParentRegion = allRegionLocations.get(1);
-  replicaParentRegion = allRegionLocations.get(0);
-}
-
-List primaryDaughters = 
splitRegion(primaryParentRegion.getRegionInfo(),
-Bytes.toBytes("a"));
-
-// Wait until the replica parent region is offline.
-while 
(am.getRegionStates().isRegionOnline(replicaParentRegion.getRegionInfo())) {
-  Thread.sleep(100);
-}
-
-assertNotNull("Should have found daughter regions for " + 
primaryDaughters, primaryDaughters);
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
-primaryParentRegion.getRegionInfo()));
-
-// check that primary parent region is not in AM's serverHoldings
-assertFalse("Primary Parent region should have been removed from 
RegionState's serverHoldings",
-
am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
-replicaParentRegion.getRegionInfo()));
+final HRegionLocation primaryParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(0)
+: allRegionLocations.get(1);
+final HRegionLocation replicaParentRegion
+  = RegionReplicaUtil.isDefaultReplica(
+  allRegionLocations.get(0).getRegionInfo().getReplicaId()) ? 
allRegionLocations.get(1)
+  : allRegionLocations.get(0);
+
+assertNotNull("Should have found daughter regions for " + 
primaryParentRegion,
+  splitRegion(primaryParentRegion.getRegionInfo(), Bytes.toBytes("a")));
+
+TEST_UTIL.waitFor(60 * 1000, new Waiter.Predicate() {
+  @Override
+  public boolean evaluate() throws Exception {
+return 
!am.getRegionStates().existsInServerHoldings(primaryParentRegion.getServerName(),
+  primaryParentRegion.getRegionInfo()) &&
+  
!am.getRegionStates().existsInServerHoldings(replicaParentRegion.getServerName(),
+replicaParentRegion.getRegionInfo());
+  }
+});
   }
 
   /*