GEODE-3131: Replaced Thread.sleep

        * Replaced sleeps with an Awaitility clause which waits for the region 
sizes to be correct before starting validation.

        This closes #628


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

Branch: refs/heads/feature/GEM-1483
Commit: cc8aacb43bd8f61d4778c5302f701d0c320a76ed
Parents: 96bc0eb
Author: nabarun <n...@pivotal.io>
Authored: Wed Jul 12 14:07:48 2017 -0700
Committer: nabarun <n...@pivotal.io>
Committed: Wed Jul 12 14:51:19 2017 -0700

----------------------------------------------------------------------
 .../cache/ha/HARQueueNewImplDUnitTest.java      | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/cc8aacb4/geode-core/src/test/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
index 12e5819..0680945 100755
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
@@ -25,8 +25,10 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
+import org.awaitility.Awaitility;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -374,7 +376,10 @@ public class HARQueueNewImplDUnitTest extends 
JUnit4DistributedTestCase {
     serverVM0.invoke(() -> HARQueueNewImplDUnitTest.createEntries());
 
     serverVM1.invoke(() -> HARQueueNewImplDUnitTest.startServer());
-    Thread.sleep(3000); // TODO: Find a better 'n reliable alternative
+
+    serverVM1.invoke(() -> ValidateRegionSizes(PORT2));
+    serverVM0.invoke(() -> ValidateRegionSizes(PORT1));
+
 
     serverVM0.invoke(() -> HARQueueNewImplDUnitTest.updateMapForVM0());
     serverVM1.invoke(() -> HARQueueNewImplDUnitTest.updateMapForVM1());
@@ -385,6 +390,19 @@ public class HARQueueNewImplDUnitTest extends 
JUnit4DistributedTestCase {
         new Integer(PORT2)));
   }
 
+  private void ValidateRegionSizes(int port) {
+    Awaitility.await().atMost(60, TimeUnit.SECONDS).until(() -> {
+      Region region = cache.getRegion("/" + regionName);
+      Region msgsRegion = 
cache.getRegion(CacheServerImpl.generateNameForClientMsgsRegion(port));
+      int clientMsgRegionSize = msgsRegion.size();
+      int regionSize = region.size();
+      assertTrue(
+          "Region sizes were not as expected after 60 seconds elapsed. Actual 
region size = "
+              + regionSize + "Actual client msg region size = " + 
clientMsgRegionSize,
+          true == ((5 == clientMsgRegionSize) && (5 == regionSize)));
+    });
+  }
+
   /**
    * This test verifies that the ha-region-queues decrement the reference 
count of their respective
    * HAEventWrapper instances in the client-messages-region correctly, after 
the events have been

Reply via email to