I have a Python client that consumes from a set of queues with no_ack set to False. &nbsp;I assumed that doing this would mean that single consumer would receive only 1 message until the consumer returned an&nbsp;acknowledgment. &nbsp;By receive a message I mean my callback would be called.<div><br></div><div>I recently was testing support for messages that tell the consumer to declare additional queues. &nbsp;I planned on doing this by acknowledging the original message after I ran my queue_declare and queue_bind calls. &nbsp;While testing, I noticed that the on_message_receive callback function was receiving other messages <i><b>before</b></i>&nbsp;my consumer finished the declares/binds, and <i><b>before</b></i>&nbsp;I&nbsp;acknowledged the original message. &nbsp;Is this how Rabbit is supposed to work? &nbsp;Or is this a Pika bug?</div><div><br></div><div>When I set prefetch_count to 1, everything works how I expect. &nbsp;I assumed with the default prefetch_count, or even a prefetch count &gt; 1, that the client would receive messages, but should hold onto them until the acknowledgement for the original message goes out. &nbsp;Is this correct?</div><div>Thanks,</div><div>Charles</div>