Repository: incubator-geode Updated Branches: refs/heads/feature/GEODE-949-2 98c122ca4 -> a108ad8f8
GEODE-1049 Added wait criteria to get internalDistributedSystem instance. Test is looking for InternalDistributedSystem Instance, but it access before it get initialize. Thus added waiting criteria for that. Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/2e00d5d6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/2e00d5d6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/2e00d5d6 Branch: refs/heads/feature/GEODE-949-2 Commit: 2e00d5d61730c11a65d21189bd9b52c9ef058632 Parents: c5d8ea7 Author: Hitesh Khamesra <[email protected]> Authored: Fri Mar 11 17:18:18 2016 -0800 Committer: Hitesh Khamesra <[email protected]> Committed: Tue Mar 15 10:07:48 2016 -0700 ---------------------------------------------------------------------- .../gms/membership/GMSJoinLeaveTestHelper.java | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2e00d5d6/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveTestHelper.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveTestHelper.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveTestHelper.java index 493c625..17409a4 100644 --- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveTestHelper.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveTestHelper.java @@ -21,6 +21,8 @@ import com.gemstone.gemfire.distributed.internal.DM; import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem; import com.gemstone.gemfire.distributed.internal.membership.gms.Services; import com.gemstone.gemfire.distributed.internal.membership.gms.mgr.GMSMembershipManager; +import com.gemstone.gemfire.test.dunit.Wait; +import com.gemstone.gemfire.test.dunit.WaitCriterion; public class GMSJoinLeaveTestHelper { @@ -43,6 +45,24 @@ public class GMSJoinLeaveTestHelper { throw new RuntimeException("This should not have happened. There should be a JoinLeave for every DS"); } + private static void waitCriterion() { + WaitCriterion waitCriterion = new WaitCriterion() { + public boolean done() { + try { + return getIDS() != null; + } catch (Exception e) { + e.printStackTrace(); + } + return false; // NOTREACHED + } + + public String description() { + return "Distributed system is null"; + } + }; + Wait.waitForCriterion(waitCriterion, 10 * 1000, 200, true); + } + private static GMSJoinLeave getGmsJoinLeave() { InternalDistributedSystem distributedSystem = getInternalDistributedSystem(); DM dm = distributedSystem.getDM(); @@ -56,6 +76,10 @@ public class GMSJoinLeaveTestHelper { } private static InternalDistributedSystem getInternalDistributedSystem() { + waitCriterion(); + return getIDS(); + } + private static InternalDistributedSystem getIDS() { InternalDistributedSystem distributedSystem = InternalDistributedSystem.getAnyInstance(); if (distributedSystem == null) { Locator locator = Locator.getLocator();
