Hmm... no immediate ideas.
It appears that, under some circumstances, these queues are being created
without the flow control configuration being applied. I have no idea why - I
can try to reproduce on a VM running the same setup.
Alex - if you'd like to try to debug this, can you alter the
cpp/src/tests/queue_flow_limit_test.py file to dump the queue configuration
arguments before and after the queue is created (in the _create_queue()
method)? Something like this (see "DEBUG" - totally untried - syntax may be
bad):
def _create_queue(self, name,
stop_count=None, resume_count=None,
stop_size=None, resume_size=None,
max_size=None, max_count=None):
""" Create a queue with the given flow settings via the queue.declare
command.
"""
args={}
if (stop_count is not None):
args["qpid.flow_stop_count"] = stop_count;
if (resume_count is not None):
args["qpid.flow_resume_count"] = resume_count;
if (stop_size is not None):
args["qpid.flow_stop_size"] = stop_size;
if (resume_size is not None):
args["qpid.flow_resume_size"] = resume_size;
if (max_size is not None):
args["qpid.max_size"] = max_size;
if (max_count is not None):
args["qpid.max_count"] = max_count;
# DEBUG
print("QUEUE DECL ARGS=%s" % str(args))
self.session.queue_declare(queue=name, arguments=args)
qs = self.qmf.getObjects(_class="queue")
for i in qs:
if i.name == name:
# verify flow settings
# DEBUG
print("QUEUE ACTUAL ARGS=%s" % str(i.arguments))
if (stop_count is not None):
self.assertEqual(i.arguments.get("qpid.flow_stop_count"),
stop_count)
if (resume_count is not None):
self.assertEqual(i.arguments.get("qpid.flow_resume_count"),
resume_count)
if (stop_size is not None):
self.assertEqual(i.arguments.get("qpid.flow_stop_size"),
stop_size)
if (resume_size is not None):
self.assertEqual(i.arguments.get("qpid.flow_resume_size"),
resume_size)
if (max_size is not None):
self.assertEqual(i.arguments.get("qpid.max_size"), max_size)
if (max_count is not None):
self.assertEqual(i.arguments.get("qpid.max_count"),
max_count)
self.failIf(i.flowStopped)
return i.getObjectId()
self.fail("Unable to create queue '%s'" % name)
return None
-K
----- Original Message -----
> On 09/06/2011 05:45 PM, Alex Kulyavtsev wrote:
> > queue_flow_limit_tests fails during "make check" after building qpid
> > C++
> > broker v 0.12.
> > Test
> > queue_flow_limit_tests.QueueFlowLimitTests.test_qpid_config_cmd
> > .........
> > stuck or I was impatient. Same result after another attempt to
> > rebuild.
> >
> > I'm rebuilding qpid 0.12 on Scientific Linux (RHEL 5 rebuild),
> > kernel
> > 2.6.18-238.5.1.el5 #1 SMP x86_64
> > make check passed when I commented out queue_flow_limit_tests in
> > makefile. It seems to be a new test added in 0.12 .
> >
> > Is it known issue?
>
> No, they all pass on 0.12 for me. Ken, any ideas?
>
> > Log:
> >
> > Running Queue flow limit tests using broker on port 50472
> > queue_flow_limit_tests.QueueFlowLimitTests.test_blocked_queue_delete
> > .... pass
> > queue_flow_limit_tests.QueueFlowLimitTests.test_default_flow_count
> > ...... fail
> > Error during test:
> > Traceback (most recent call last):
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/python/commands/qpid-python-test",
> > line 311, in run
> > phase()
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/queue_flow_limit_tests.py",
> > line 299, in test_default_flow_count
> > self.verify_limit(TestQ(oid))
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/queue_flow_limit_tests.py",
> > line 261, in verify_limit
> > self.failUnless(testq.verifyStopped())
> > File "/opt/enstore/Python/lib/python2.6/unittest.py", line 325, in
> > failUnless
> > if not expr: raise self.failureException, msg
> > AssertionError
> > queue_flow_limit_tests.QueueFlowLimitTests.test_default_flow_size
> > ....... fail
> > Error during test:
> > Traceback (most recent call last):
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/python/commands/qpid-python-test",
> > line 311, in run
> > phase()
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/queue_flow_limit_tests.py",
> > line 325, in test_default_flow_size
> > self.verify_limit(TestQ(oid))
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/queue_flow_limit_tests.py",
> > line 261, in verify_limit
> > self.failUnless(testq.verifyStopped())
> > File "/opt/enstore/Python/lib/python2.6/unittest.py", line 325, in
> > failUnless
> > if not expr: raise self.failureException, msg
> > AssertionError
> > queue_flow_limit_tests.QueueFlowLimitTests.test_flow_count
> > .............. fail
> > Error during test:
> > Traceback (most recent call last):
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/python/commands/qpid-python-test",
> > line 311, in run
> > phase()
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/queue_flow_limit_tests.py",
> > line 162, in test_flow_count
> > self.failUnless(self.qmf.getObjects(_objectId=oid)[0].flowStopped)
> > File "/opt/enstore/Python/lib/python2.6/unittest.py", line 325, in
> > failUnless
> > if not expr: raise self.failureException, msg
> > AssertionError
> > queue_flow_limit_tests.QueueFlowLimitTests.test_flow_size
> > ............... fail
> > Error during test:
> > Traceback (most recent call last):
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/python/commands/qpid-python-test",
> > line 311, in run
> > phase()
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/queue_flow_limit_tests.py",
> > line 203, in test_flow_size
> > oid = self._create_queue("test-q", stop_size=351133,
> > resume_size=251143)
> > File
> > "/opt/install/qpid-0.12/cpp/src/tests/queue_flow_limit_tests.py",
> > line 71, in _create_queue
> > self.assertEqual(i.arguments.get("qpid.flow_stop_size"), stop_size)
> > File "/opt/enstore/Python/lib/python2.6/unittest.py", line 350, in
> > failUnlessEqual
> > (msg or '%r != %r' % (first, second))
> > AssertionError: None != 351133
> > queue_flow_limit_tests.QueueFlowLimitTests.test_qpid_config_cmd
> > .........
> >
> >
> > ---------------------------------------------------------------------
> > Apache Qpid - AMQP Messaging Implementation
> > Project: http://qpid.apache.org
> > Use/Interact: mailto:[email protected]
> >
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project: http://qpid.apache.org
> Use/Interact: mailto:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]