From f89731ae3ec246a09a53f6eaa0c8506199321fd2 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 20 Jan 2011 14:13:08 +0000 Subject: Bug 654872, QPID-3007: Batch management messages by count, not size. QMF V1 management messages were being batched by accumulating up to a certain total size of data. Since management messages may have different sizes on brokers in a cluster, this was leading to inconsistencies. This patch batches V1 messages by count rather than by size, similar to V2 messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1061308 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/tests/cluster_test_logs.py | 7 ++++--- cpp/src/tests/cluster_tests.py | 13 +++++++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'cpp/src/tests') diff --git a/cpp/src/tests/cluster_test_logs.py b/cpp/src/tests/cluster_test_logs.py index 0333822824..4cb921932e 100755 --- a/cpp/src/tests/cluster_test_logs.py +++ b/cpp/src/tests/cluster_test_logs.py @@ -59,7 +59,8 @@ def filter_log(log): 'task late', 'task overran', 'warning CLOSING .* unsent data', - 'Inter-broker link ' + 'Inter-broker link ', + 'Running in a cluster, marking store' ]) if re.compile(skip).search(l): continue @@ -85,7 +86,7 @@ def filter_log(log): out.write(l) out.close() -def verify_logs(logs): +def verify_logs(): """Compare log files from cluster brokers, verify that they correspond correctly.""" # FIXME aconway 2011-01-19: disable when called from unit tests # Causing sporadic failures, see https://issues.apache.org/jira/browse/QPID-3007 @@ -110,4 +111,4 @@ def verify_logs(logs): # Can be run as a script. if __name__ == "__main__": - verify_logs(glob.glob("*.log")) + verify_logs() diff --git a/cpp/src/tests/cluster_tests.py b/cpp/src/tests/cluster_tests.py index 6e515cdbf1..27010c17f7 100755 --- a/cpp/src/tests/cluster_tests.py +++ b/cpp/src/tests/cluster_tests.py @@ -302,7 +302,7 @@ acl allow all all scanner.join() assert scanner.found # Verify logs are consistent - cluster_test_logs.verify_logs(glob.glob("*.log")) + cluster_test_logs.verify_logs() class LongTests(BrokerTest): """Tests that can run for a long time if -DDURATION= is set""" @@ -448,11 +448,20 @@ class LongTests(BrokerTest): c.stop() # Verify that logs are consistent - cluster_test_logs.verify_logs(glob.glob("*.log")) + cluster_test_logs.verify_logs() def test_management_qmf2(self): self.test_management(args=["--mgmt-qmf2=yes"]) + def test_connect_consistent(self): # FIXME aconway 2011-01-18: + args=["--mgmt-pub-interval=1","--log-enable=trace+:management"] + cluster = self.cluster(2, args=args) + end = time.time() + self.duration() + while (time.time() < end): # Get a management interval + for i in xrange(1000): cluster[0].connect().close() + cluster_test_logs.verify_logs() + + class StoreTests(BrokerTest): """ Cluster tests that can only be run if there is a store available. -- cgit v1.2.1