diff options
| author | Alan Conway <aconway@apache.org> | 2010-07-05 20:12:08 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-07-05 20:12:08 +0000 |
| commit | 1c0490365610ba8db496847589049c83ddbc36e1 (patch) | |
| tree | e41c5b53b7060014fbc7dd472cf9b75385264d43 /qpid/cpp/src/tests | |
| parent | 8db7ae7ca30bdf2f71598d5a52b5711705a1a011 (diff) | |
| download | qpid-python-1c0490365610ba8db496847589049c83ddbc36e1.tar.gz | |
Defer delivery of messages in cluster-unsafe context.
Messages enqueued in a cluster-safe context are synchronized across
the cluster. However some messages are delivered in a cluster-unsafe
context, for example raising a link established event occurs the
connection thread of the establishing connection.
This fix deferrs such messages by multicasting them so they can be
re-delived in a cluster safe context.
See https://bugzilla.redhat.com/show_bug.cgi?id=611543
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@960681 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests')
| -rwxr-xr-x | qpid/cpp/src/tests/cluster_tests.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/qpid/cpp/src/tests/cluster_tests.py b/qpid/cpp/src/tests/cluster_tests.py index 79001585f2..46bef2b3c2 100755 --- a/qpid/cpp/src/tests/cluster_tests.py +++ b/qpid/cpp/src/tests/cluster_tests.py @@ -157,7 +157,21 @@ acl allow all all self.fail("Expected exception") except messaging.exceptions.NotFound: pass - + def test_link_events(self): + """Regression test for https://bugzilla.redhat.com/show_bug.cgi?id=611543""" + args = ["--mgmt-pub-interval", 1] # Publish management information every second. + broker1 = self.cluster(1, args)[0] + broker2 = self.cluster(1, args)[0] + qp = self.popen(["qpid-printevents", broker1.host_port()], EXPECT_RUNNING) + qr = self.popen(["qpid-route", "route", "add", + broker1.host_port(), broker2.host_port(), + "amq.fanout", "key" + ], EXPECT_EXIT_OK) + # Look for link event in printevents output. + retry(lambda: find_in_file("brokerLinkUp", qp.outfile("out"))) + broker1.ready() + broker2.ready() + class LongTests(BrokerTest): """Tests that can run for a long time if -DDURATION=<minutes> is set""" def duration(self): |
