barryp / py-amqplib

Python client for the Advanced Message Queuing Procotol (AMQP)
GNU Lesser General Public License v2.1
24 stars 10 forks source link

basic_get automatically acknowledges messages #18

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Which version of amqplib are you using?
0.6.1

Have you checked to see if there is a newer version in the "Featured
Downloads" section of the front page of this project?
Yes

Which broker are you using (RabbitMQ?) which version?
RabbitMQ 1.7.2

Which version of Python?
2.6.4

What steps will reproduce the problem?
1. Publish a message (basic_publish)
2. Get the message (basic_get) with no_ack=False
3. Get the message again (basic_get)

What is the expected output? What do you see instead?
Both basic_get should return the message, but only the first succeeds even 
though the message was not acknowledged.

Please see the attached publisher and consumer which reproduce the issue

I hope I'm not missing something obvious.

Cheers,

Original issue reported on code.google.com by amr.most...@gmail.com on 17 Apr 2010 at 2:00

Attachments:

GoogleCodeExporter commented 9 years ago
It looks like this only happens when calling basic_get() twice within the same
context/process.

But if we remove one of the 2 basic_get()s, and try to execute the consumer 
multiple
times, it works as expected.

I can reproduce the same behavior with RabbitMQ's java client.

So this doesn't look like a defect in py-amqplib, I still don't understand why 
this
is happening though.

Thanks for your attention.

Original comment by amr.most...@gmail.com on 17 Apr 2010 at 2:39

GoogleCodeExporter commented 9 years ago
OK, since it seems to be a broker issue we can't do anything about it.  Thanks 
for the report and the followup.

Original comment by barry.pe...@gmail.com on 28 Mar 2011 at 7:09