[rabbitmq-discuss] Basic.Reject(requeue=true) is no longer working after updating to 2.8.2

Michael Benford michael at michaelbenford.net
Tue Jun 19 22:15:40 BST 2012


Hi.

I've upgraded my queue server to RabbitMQ 2.8.2, and 
Basic.Reject(requeue=true) is no longer working for me. When I reject a 
message using it, the message isn't being requeued (i.e, going to the back 
of the queue). In fact the message remains unacknowledged, and if I try to 
get the next message from the queue, I get the very same message I had just 
rejected, and my consumer won't process any new messages.

After doing some research, I've found this:

"Message ordering guarantees

(...) Messages can be returned to the queue using AMQP methods that feature 
a requeue parameter (basic.recover, basic.reject and basic.nack), or due to 
a channel closing while holding unacknowledged messages. Any of these 
scenarios caused messages to be requeued at the back of the queue for 
RabbitMQ releases earlier than 2.7.0. From RabbitMQ release 2.7.0, messages 
are always held in the queue in publication order, even in the presence of 
requeueing or channel closure."

Given that, I can no longer rely on Basic.Reject() to send messages to the 
back of the queue? To do so, must I manually publish the message to the 
queue?

Thanks in advance.

Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120619/625738c4/attachment.htm>


More information about the rabbitmq-discuss mailing list