You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2018/03/22 11:41:40 UTC
[1/2] qpid-jms git commit: QPIDJMS-365: restore previously existing
test to earlier condition
Repository: qpid-jms
Updated Branches:
refs/heads/master 28f0e8083 -> b37200f45
QPIDJMS-365: restore previously existing test to earlier condition
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/610ffe2a
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/610ffe2a
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/610ffe2a
Branch: refs/heads/master
Commit: 610ffe2aa5f66a6b1125612e07cbfdfc496963ec
Parents: 28f0e80
Author: Robbie Gemmell <ro...@apache.org>
Authored: Thu Mar 22 11:34:18 2018 +0000
Committer: Robbie Gemmell <ro...@apache.org>
Committed: Thu Mar 22 11:34:18 2018 +0000
----------------------------------------------------------------------
.../provider/failover/FailoverIntegrationTest.java | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/610ffe2a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
index e12c312..69e472c 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
@@ -16,11 +16,7 @@
*/
package org.apache.qpid.jms.provider.failover;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.both;
import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.greaterThanOrEqualTo;
-import static org.hamcrest.Matchers.lessThanOrEqualTo;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertEquals;
@@ -182,11 +178,7 @@ public class FailoverIntegrationTest extends QpidJmsTestCase {
originalPeer.expectOpen();
originalPeer.expectBegin();
- long ird = 0;
- long rd = 2000;
- long start = System.currentTimeMillis();
-
- final JmsConnection connection = establishAnonymousConnecton("failover.initialReconnectDelay=" + ird + "&failover.reconnectDelay=" + rd + "&failover.maxReconnectAttempts=10", originalPeer, rejectingPeer, finalPeer);
+ final JmsConnection connection = establishAnonymousConnecton(originalPeer, rejectingPeer, finalPeer);
connection.addConnectionListener(new JmsDefaultConnectionListener() {
@Override
public void onConnectionEstablished(URI remoteURI) {
@@ -210,7 +202,7 @@ public class FailoverIntegrationTest extends QpidJmsTestCase {
assertEquals("should not yet have connected to final peer", 1L, finalConnected.getCount());
// Set expectations on rejecting and final peer
- rejectingPeer.rejectConnect(AmqpError.NOT_FOUND, "Resource could not be located", null);
+ rejectingPeer.expectSaslHeaderThenDrop();
finalPeer.expectSaslAnonymous();
finalPeer.expectOpen();
@@ -222,11 +214,6 @@ public class FailoverIntegrationTest extends QpidJmsTestCase {
rejectingPeer.waitForAllHandlersToComplete(2000);
assertTrue("Should connect to final peer", finalConnected.await(5, TimeUnit.SECONDS));
- long end = System.currentTimeMillis();
-
- long margin = 2000;
- assertThat("Elapsed time outwith expected range for reconnect", end - start,
- both(greaterThanOrEqualTo(ird + rd)).and(lessThanOrEqualTo(ird + rd + margin)));
// Shut it down
finalPeer.expectClose();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/2] qpid-jms git commit: QPIDJMS-365: add the new test back again
Posted by ro...@apache.org.
QPIDJMS-365: add the new test back again
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/b37200f4
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/b37200f4
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/b37200f4
Branch: refs/heads/master
Commit: b37200f45cdbfdf541ddd7221696f1ffe28a73cd
Parents: 610ffe2
Author: Robbie Gemmell <ro...@apache.org>
Authored: Thu Mar 22 11:37:09 2018 +0000
Committer: Robbie Gemmell <ro...@apache.org>
Committed: Thu Mar 22 11:37:09 2018 +0000
----------------------------------------------------------------------
.../failover/FailoverIntegrationTest.java | 80 ++++++++++++++++++++
1 file changed, 80 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b37200f4/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
index 69e472c..2f8776b 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
@@ -16,7 +16,11 @@
*/
package org.apache.qpid.jms.provider.failover;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.both;
import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.lessThanOrEqualTo;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertEquals;
@@ -156,6 +160,82 @@ public class FailoverIntegrationTest extends QpidJmsTestCase {
}
@Test(timeout = 20000)
+ public void testFailoverHandlesDropThenRejectionCloseAfterConnect() throws Exception {
+ try (TestAmqpPeer originalPeer = new TestAmqpPeer();
+ TestAmqpPeer rejectingPeer = new TestAmqpPeer();
+ TestAmqpPeer finalPeer = new TestAmqpPeer();) {
+
+ final CountDownLatch originalConnected = new CountDownLatch(1);
+ final CountDownLatch finalConnected = new CountDownLatch(1);
+
+ // Create a peer to connect to, one to fail to reconnect to, and a final one to reconnect to
+ final String originalURI = createPeerURI(originalPeer);
+ final String rejectingURI = createPeerURI(rejectingPeer);
+ final String finalURI = createPeerURI(finalPeer);
+
+ LOG.info("Original peer is at: {}", originalURI);
+ LOG.info("Rejecting peer is at: {}", rejectingURI);
+ LOG.info("Final peer is at: {}", finalURI);
+
+ // Connect to the first
+ originalPeer.expectSaslAnonymous();
+ originalPeer.expectOpen();
+ originalPeer.expectBegin();
+
+ long ird = 0;
+ long rd = 2000;
+ long start = System.currentTimeMillis();
+
+ final JmsConnection connection = establishAnonymousConnecton("failover.initialReconnectDelay=" + ird + "&failover.reconnectDelay=" + rd + "&failover.maxReconnectAttempts=10", originalPeer, rejectingPeer, finalPeer);
+ connection.addConnectionListener(new JmsDefaultConnectionListener() {
+ @Override
+ public void onConnectionEstablished(URI remoteURI) {
+ LOG.info("Connection Established: {}", remoteURI);
+ if (originalURI.equals(remoteURI.toString())) {
+ originalConnected.countDown();
+ }
+ }
+
+ @Override
+ public void onConnectionRestored(URI remoteURI) {
+ LOG.info("Connection Restored: {}", remoteURI);
+ if (finalURI.equals(remoteURI.toString())) {
+ finalConnected.countDown();
+ }
+ }
+ });
+ connection.start();
+
+ assertTrue("Should connect to original peer", originalConnected.await(5, TimeUnit.SECONDS));
+ assertEquals("should not yet have connected to final peer", 1L, finalConnected.getCount());
+
+ // Set expectations on rejecting and final peer
+ rejectingPeer.rejectConnect(AmqpError.NOT_FOUND, "Resource could not be located", null);
+
+ finalPeer.expectSaslAnonymous();
+ finalPeer.expectOpen();
+ finalPeer.expectBegin();
+
+ // Close the original peer and wait for things to shake out.
+ originalPeer.close();
+
+ rejectingPeer.waitForAllHandlersToComplete(2000);
+
+ assertTrue("Should connect to final peer", finalConnected.await(5, TimeUnit.SECONDS));
+ long end = System.currentTimeMillis();
+
+ long margin = 2000;
+ assertThat("Elapsed time outwith expected range for reconnect", end - start,
+ both(greaterThanOrEqualTo(ird + rd)).and(lessThanOrEqualTo(ird + rd + margin)));
+
+ // Shut it down
+ finalPeer.expectClose();
+ connection.close();
+ finalPeer.waitForAllHandlersToComplete(1000);
+ }
+ }
+
+ @Test(timeout = 20000)
public void testFailoverHandlesImmediateTransportDropAfterConnect() throws Exception {
try (TestAmqpPeer originalPeer = new TestAmqpPeer();
TestAmqpPeer rejectingPeer = new TestAmqpPeer();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org