This is an automated email from the ASF dual-hosted git repository.

heybales pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new ae8808b  GEODE-1603: wait for receiver MBean federation (#2726)
ae8808b is described below

commit ae8808bbc43c15e3f3858b71bc06e7dd032a48cf
Author: Helena Bales <[email protected]>
AuthorDate: Mon Oct 29 10:26:34 2018 -0700

    GEODE-1603: wait for receiver MBean federation (#2726)
    
    The check of receiver MBeans was failing with an exception of invalid
    member name or id intermittently, when the check occured before the
    member was added to DistributedSystemBridge's list of members. This adds
    an awaitility around the method that calls this check, since the member
    will eventually be put to that list.
---
 .../geode/management/internal/beans/DistributedSystemBridge.java   | 5 ++++-
 .../java/org/apache/geode/internal/cache/wan/WANTestBase.java      | 7 +++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
index b15f7e8..ba2abc2 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/DistributedSystemBridge.java
@@ -614,7 +614,9 @@ public class DistributedSystemBridge {
     if (bean != null) {
       return bean;
     } else {
-      throw new Exception(String.format("{0} is an invalid member name or Id", 
member));
+      throw new Exception(
+          String.format("%s is an invalid member name or Id. Current members 
are %s", member,
+              mapOfMembers.keySet()));
     }
   }
 
@@ -1058,6 +1060,7 @@ public class DistributedSystemBridge {
     ObjectName receiverName = 
MBeanJMXAdapter.getGatewayReceiverMBeanName(member);
     GatewayReceiverMXBean bean =
         service.getMBeanInstance(receiverName, GatewayReceiverMXBean.class);
+
     if (bean != null) {
       return receiverName;
     } else {
diff --git 
a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/WANTestBase.java
 
b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/WANTestBase.java
index f03da33..6c34a01 100644
--- 
a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/WANTestBase.java
+++ 
b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/WANTestBase.java
@@ -168,7 +168,6 @@ import org.apache.geode.management.RegionMXBean;
 import org.apache.geode.management.internal.SystemManagementService;
 import org.apache.geode.pdx.SimpleClass;
 import org.apache.geode.pdx.SimpleClass1;
-import org.apache.geode.test.awaitility.GeodeAwaitility;
 import org.apache.geode.test.dunit.Assert;
 import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.DistributedTestCase;
@@ -2892,7 +2891,7 @@ public class WANTestBase extends DistributedTestCase {
             + sameRegionSizeCounter + " :regionSize " + previousSize;
       }
     };
-    GeodeAwaitility.await().untilAsserted(wc);
+    await().untilAsserted(wc);
   }
 
   public static String getRegionFullPath(String regionName) {
@@ -3940,6 +3939,10 @@ public class WANTestBase extends DistributedTestCase {
             DistributedSystemMXBean bean = 
service.getDistributedSystemMXBean();
             ObjectName expectedName = 
service.getGatewayReceiverMBeanName(receiverMember);
             try {
+              await("wait for member to be added to DistributedSystemBridge 
membership list")
+                  .untilAsserted(
+                      () -> 
assertThat(bean.fetchGatewayReceiverObjectName(receiverMember.getId()))
+                          .isNotNull());
               ObjectName actualName = 
bean.fetchGatewayReceiverObjectName(receiverMember.getId());
               assertEquals(expectedName, actualName);
             } catch (Exception e) {

Reply via email to