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) {