[rabbitmq-discuss] Unacked messages going back in the queue
pierpaolo at dropbox.com
Fri Mar 22 13:24:50 GMT 2013
Thanks for the answer! I am skeptical this is due to a network event (I am
running this test extremely isolated on a local VM) and rather think it's
due to some interactions with the client code.
I should have clarified that I am running pika 0.9 with a SelectConnection.
I build a custom library on top of that to deal with my cluster
configuration but the bottom line that I think it's problematic is that I
am handling the processing of the message straight on the IOLoop thread.
This, as you hinted, prevents pika from handling/sending heartbeats
properly. I can fix this in two ways:
1) move the actual processing to a separate thread and let the ioloop go
unstuck. While this is obviously the more straightforward fix, it involves
actually a few changes to my curent structure that I am trying to punt on
2) increase the heartbeat timeout.
For option 2), what is the internal timeout set in Rabbit? Can I increase
it from the client on a per channel basis?
On Fri, Mar 22, 2013 at 4:24 AM, Tim Watson <tim at rabbitmq.com> wrote:
> On 03/22/2013 10:54 AM, Tim Watson wrote:
>> Hi Pierpaolo!
>> On 03/22/2013 08:11 AM, Tim Watson wrote:
>>> If the channel is disappearing (because rabbit considers the connection
>>> to have dropped) then I would suggest configuring heartbeats in your client
>>> too ensure the connection stays alive.
>> Someone just kindly pointed out that you're using 3.0.4 - which means my
>> advice isn't all that helpful as the server will negotiate heartbeats with
>> the client by default (and pika has support for heartbeats). So my
>> suspicion, is that if un-acked messages are disappearing and the client has
>> not rejected them, that the connection must have been
>> disrupted somehow (network failure, packet loss, ?) causing the broker to
>> re-queue them, or the consumer must have crashed or a channel error
>> generated. Is there anything in the logs to indicate what might be
> In fact, depending on how you're interacting with the broker, that
> heartbeat might not get handled by pika and the broker will disconnect you
> anyway. Are you using BlockingConnection by any chance?
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.**rabbitmq.com<rabbitmq-discuss at lists.rabbitmq.com>
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.**rabbitmq.com<rabbitmq-discuss at lists.rabbitmq.com>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss