You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ji...@apache.org on 2016/04/27 23:16:36 UTC

[04/22] incubator-geode git commit: GEODE-1311 Now in test every VM waits locator to become coordinator.

GEODE-1311 Now in test every VM waits locator to become coordinator.


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

Branch: refs/heads/feature/GEODE-17-2
Commit: 32c9df6c27fef5a0056e39c666af836a7c750361
Parents: 39b9edc
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Wed Apr 27 09:31:12 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Wed Apr 27 09:45:11 2016 -0700

----------------------------------------------------------------------
 .../gemfire/distributed/LocatorDUnitTest.java   | 31 ++++++++++++++++++++
 1 file changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/32c9df6c/geode-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
index a62a317..3a06c1c 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
@@ -1535,6 +1535,10 @@ public class LocatorDUnitTest extends DistributedTestCase {
           }
         };
         Wait.waitForCriterion(waitCriterion, 30 * 1000, 1000, true);
+        waitUntilLocatorBecomesCoordinator(vm1);
+        waitUntilLocatorBecomesCoordinator(vm2);
+        waitUntilLocatorBecomesCoordinator(vm3);
+        waitUntilLocatorBecomesCoordinator(vm4);
 
         int netviewId = vm1.invoke("Checking ViewCreator", () -> GMSJoinLeaveTestHelper.getViewId());
         assertEquals(netviewId, (int) vm2.invoke("checking ViewID", () -> GMSJoinLeaveTestHelper.getViewId()));
@@ -1559,6 +1563,33 @@ public class LocatorDUnitTest extends DistributedTestCase {
     } finally {
     }
   }
+  
+  private void waitUntilLocatorBecomesCoordinator(VM vm) {
+    SerializableRunnable sr = new SerializableRunnable("waitUntilLocatorBecomesCoordinator") {
+
+      @Override
+      public void run() throws Exception {
+        final WaitCriterion waitCriterion = new WaitCriterion() {
+          public boolean done() {
+            try {
+              InternalDistributedMember c = GMSJoinLeaveTestHelper.getCurrentCoordinator();
+              return c.getVmKind() == DistributionManager.LOCATOR_DM_TYPE;
+            } catch (Exception e) {
+              e.printStackTrace();
+              com.gemstone.gemfire.test.dunit.Assert.fail("unexpected exception", e);
+            }
+            return false; // NOTREACHED
+          }
+
+          public String description() {
+            return null;
+          }
+        };
+        Wait.waitForCriterion(waitCriterion, 15 * 1000, 200, true);
+      }
+    };
+    vm.invoke(sr);
+  }
 
   private void startLocatorSync(VM vm, Object[] args) {
     vm.invoke(new SerializableRunnable("Starting locator process on " + args[0], args) {