[rabbitmq-discuss] consumer get messages from one queue sometimes disorder

Xie Yunpeng woqimingweipeng at gmail.com
Tue May 21 03:44:39 BST 2013

the second reason is right.it mybe a bug in kombu/amqp. in kombu it get
many message from rabbitmq in SimpleQueue.get method without ack and push
the messages into a collections.deque, but sometimes my server has poor
network and the client/server disconnected(or mybe a but in amqp lead to
the disconnection), then the kombu create a new connection/channel, the
messages in noack cannnot be received for a while and then goto ready .this
reason makes the messages disorder.

2013/5/7 Xie Yunpeng <woqimingweipeng at gmail.com>

> thx, i will do some test and analyse log to verify the second condition.i
> think it is the real reason.
> 2013/5/7 Simon MacMullen <simon at rabbitmq.com>
>> On 07/05/2013 09:26, Emile Joubert wrote:
>>> On 06/05/13 11:08, Xie Yunpeng wrote:
>>>  I use 4 publisher sending messages to this queue and 1 consumer to
>>>> receive the messages.the consumer when connect to the rabbitmq server ,
>>>  i find it receive messages disorder sometimes, just like: first receive
>>>> messges in current time and then receive messages several hour ago, the
>>>> interval is not regular.
>>> You can find the ordering guarantees here:
>>> http://www.rabbitmq.com/**semantics.html#ordering<http://www.rabbitmq.com/semantics.html#ordering>
>>> In particular, there is no ordering guarantee if you involve multiple
>>> publishers.
>> Well, there's still exactly the same ordering guarantee as there is with
>> a single publisher: messages from each publishing channel won't get
>> reordered with respect to each other. We just don't guarantee anything
>> about ordering between channels. And indeed it's hard to see how we could.
>> To the OP: either something weird is happening in your publishers causing
>> them to buffer messages for hours before sending to RabbitMQ (unlikely I
>> guess but I should mention it) or messages are not being acknowledged by
>> your consumers and are then being requeued once the consumer disconnects.
>> In the latter case all the "late" messages should have the "redelivered"
>> flag set.
>> Cheers, Simon
>> ______________________________**_________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.**rabbitmq.com<rabbitmq-discuss at lists.rabbitmq.com>
>> https://lists.rabbitmq.com/**cgi-bin/mailman/listinfo/**rabbitmq-discuss<https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130521/fa174b12/attachment.htm>

More information about the rabbitmq-discuss mailing list