[rabbitmq-discuss] Pika error - ack/reject throws exception
drobins at FreedomScientific.com
Thu Feb 9 15:13:51 GMT 2012
I'm using Pika and Python (3.2.2) to access RabbitMQ (2.6.1) queues, on Linux (kernel 3.0.6); specifically, I have some code that creates a blocking connection, binds a channel to a couple of queues, calls
basic_consume on the channel for each queue with no_ack=False, and then start_consuming.
It drains a (random - in recent runs I saw 14, 4, then 9) number of messages already in the queue under basic_consume, but then throws the following exception:
Traceback (most recent call last):
File "./ep_test", line 62, in <module>
File "./ep_test", line 41, in track
File "/home/dbrobins/code/utils/tq/broker.py", line 45, in consume
self.brk.chan.basic_consume(thunk, queue=self.qname, no_ack=auto_ack)
File "/usr/lib64/python3.2/site-packages/pika-0.9.5-py3.2.egg/pika/channel.py", line 368, in basic_consume
File "/usr/lib64/python3.2/site-packages/pika-0.9.5-py3.2.egg/pika/adapters/blocking_connection.py", line 224, in rpc
frame = self._frames[reply]
Am I doing something wrong in thinking I can ack a message in this state? It doesn't throw an exception with no_ack=True. If so, what? Or is it a bug in the pika module or a problem with RabbitMQ?
I've done a little debugging and it's possible I'm getting two Basic.ConsumeOk frames - if so, would that be a bug in RabbitMQ or does the client need to expect this? Is there a way to get verbose debug
output from RabbitMQ? - searches indicate no, except perhaps to watch it with an independent network tracing tool? Thanks for any help.
This is likely an instance of issue #70 on GitHub (https://github.com/pika/pika/issues/70) which says "Pending Fix" - does that mean that a fix is available but unreleased, or that there is no fix yet?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss