You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2016/12/14 17:57:25 UTC
[10/50] [abbrv] geode git commit: GEODE-2179 - Checking for
disconnected connection in GatewaySenderMBean
GEODE-2179 - Checking for disconnected connection in GatewaySenderMBean
Making sure that the mbean returns false for isConnected if the gateway
is not actually connected to the remote side.
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/0494b31c
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/0494b31c
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/0494b31c
Branch: refs/heads/feature/GEODE-1930
Commit: 0494b31caf6f43cec85660fd8d939f2b1c6739c2
Parents: 1d34eeb
Author: Dan Smith <up...@apache.org>
Authored: Fri Dec 2 15:47:13 2016 -0800
Committer: Dan Smith <up...@apache.org>
Committed: Wed Dec 7 15:14:28 2016 -0800
----------------------------------------------------------------------
.../wan/GatewaySenderEventRemoteDispatcher.java | 2 +-
.../management/WANManagementDUnitTest.java | 40 +++++++++++---------
2 files changed, 24 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/0494b31c/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java
index 16b1965..8da5613 100644
--- a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java
+++ b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventRemoteDispatcher.java
@@ -802,7 +802,7 @@ public class GatewaySenderEventRemoteDispatcher implements GatewaySenderEventDis
@Override
public boolean isConnectedToRemote() {
- return connection != null;
+ return connection != null && !connection.isDestroyed();
}
public void stop() {
http://git-wip-us.apache.org/repos/asf/geode/blob/0494b31c/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
index 9a6cc10..3cc37eb 100644
--- a/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
@@ -19,12 +19,14 @@ import org.junit.Test;
import static org.junit.Assert.*;
+import com.jayway.awaitility.Awaitility;
import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
import org.apache.geode.test.junit.categories.DistributedTest;
import org.apache.geode.test.junit.categories.FlakyTest;
import java.util.Map;
+import java.util.concurrent.TimeUnit;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -60,7 +62,17 @@ public class WANManagementDUnitTest extends ManagementTestBase {
}
@Test
- public void testMBeanCallback() throws Exception {
+ public void testMBeanCallbackSerial() throws Exception {
+ testMBeanCallback(false);
+ }
+
+ @Test
+ public void testMBeanCallbackParallel() throws Exception {
+ testMBeanCallback(true);
+
+ }
+
+ public void testMBeanCallback(boolean parallel) throws Exception {
VM nyLocator = getManagedNodeList().get(0);
VM nyReceiver = getManagedNodeList().get(1);
@@ -103,10 +115,8 @@ public class WANManagementDUnitTest extends ManagementTestBase {
puneSender.invoke(() -> WANTestBase.waitForSenderRunningState("pn"));
managing.invoke(() -> WANTestBase.waitForSenderRunningState("pn"));
-
-
- checkSenderMBean(puneSender, getTestMethodName() + "_PR");
- checkSenderMBean(managing, getTestMethodName() + "_PR");
+ checkSenderMBean(puneSender, getTestMethodName() + "_PR", true);
+ checkSenderMBean(managing, getTestMethodName() + "_PR", true);
checkReceiverMBean(nyReceiver);
@@ -119,6 +129,10 @@ public class WANManagementDUnitTest extends ManagementTestBase {
checkProxySender(managing, puneMember);
checkSenderNavigationAPIS(managing, puneMember);
+ nyReceiver.invoke(() -> WANTestBase.stopReceivers());
+
+ checkSenderMBean(puneSender, getTestMethodName() + "_PR", false);
+ checkSenderMBean(managing, getTestMethodName() + "_PR", false);
}
@Category(FlakyTest.class) // GEODE-1603
@@ -159,8 +173,7 @@ public class WANManagementDUnitTest extends ManagementTestBase {
managing.invoke(() -> WANTestBase.createManagementCache(nyPort));
startManagingNode(managing);
-
- checkSenderMBean(puneSender, getTestMethodName() + "_PR");
+ checkSenderMBean(puneSender, getTestMethodName() + "_PR", true);
checkReceiverMBean(nyReceiver);
DistributedMember nyMember =
@@ -168,8 +181,6 @@ public class WANManagementDUnitTest extends ManagementTestBase {
checkProxyReceiver(managing, nyMember);
checkReceiverNavigationAPIS(managing, nyMember);
-
-
}
@@ -187,19 +198,15 @@ public class WANManagementDUnitTest extends ManagementTestBase {
Integer nyPort =
(Integer) nyLocator.invoke(() -> WANTestBase.createFirstRemoteLocator(12, punePort));
-
-
puneSender.invoke(() -> WANTestBase.createCache(punePort));
managing.invoke(() -> WANTestBase.createManagementCache(punePort));
startManagingNode(managing);
-
puneSender.invoke(() -> WANTestBase.createAsyncEventQueue("pn", false, 100, 100, false, false,
"puneSender", false));
managing.invoke(() -> WANTestBase.createAsyncEventQueue("pn", false, 100, 100, false, false,
"managing", false));
-
puneSender.invoke(() -> WANTestBase
.createReplicatedRegionWithAsyncEventQueue(getTestMethodName() + "_RR", "pn", false));
managing.invoke(() -> WANTestBase
@@ -213,7 +220,6 @@ public class WANManagementDUnitTest extends ManagementTestBase {
checkAsyncQueueMBean(puneSender);
checkAsyncQueueMBean(managing);
-
DistributedMember puneMember =
(DistributedMember) puneSender.invoke(() -> WANManagementDUnitTest.getMember());
@@ -392,7 +398,6 @@ public class WANManagementDUnitTest extends ManagementTestBase {
}
-
/**
* Checks whether a GatewayReceiverMBean is created or not
*
@@ -417,7 +422,7 @@ public class WANManagementDUnitTest extends ManagementTestBase {
* @param vm reference to VM
*/
@SuppressWarnings("serial")
- protected void checkSenderMBean(final VM vm, final String regionPath) {
+ protected void checkSenderMBean(final VM vm, final String regionPath, boolean connected) {
SerializableRunnable checkMBean = new SerializableRunnable("Check Sender MBean") {
public void run() {
Cache cache = GemFireCacheImpl.getInstance();
@@ -425,7 +430,8 @@ public class WANManagementDUnitTest extends ManagementTestBase {
GatewaySenderMXBean bean = service.getLocalGatewaySenderMXBean("pn");
assertNotNull(bean);
- assertTrue(bean.isConnected());
+ Awaitility.await().atMost(1, TimeUnit.MINUTES)
+ .until(() -> assertEquals(connected, bean.isConnected()));
ObjectName regionBeanName = service.getRegionMBeanName(
cache.getDistributedSystem().getDistributedMember(), "/" + regionPath);