[rabbitmq-discuss] No error reported when tx_select/basic_publish/tx_commit is given an undefined queue name?

Matt Pietrek mpietrek at skytap.com
Thu Mar 29 19:13:13 BST 2012


Thanks Marek,

Every day's a school day. I didn't know about the mandatory flag.

HOWEVER... Having added to the code below, I still don't get and indication
of error. Stepping into the tx_commit code, I see what looks like a
Tx.CommitOK message back from the server. I've double-verified that the
queue I'm sending to doesn't exist.

Matt

On Thu, Mar 29, 2012 at 3:52 AM, Marek Majkowski <majek04 at gmail.com> wrote:

> On Thu, Mar 29, 2012 at 01:16, Matt Pietrek <mpietrek at skytap.com> wrote:
> > I have a Pika code sequence that looks like this:
> >
> >                     channel = self._channel
> >                     channel.tx_select()
> >                     channel.basic_publish(exchange='',
> >                         routing_key=queue_name,
> >                         body=json_string,
> >                         properties=pika.BasicProperties(delivery_mode=2))
> >                     channel.tx_commit()
> >
> > During some robustness testing, I found that if I passed an invalid queue
> > name to basic_get, I get an AMQPChannelError as expected. However, when
> > using the above code to write a message to an invalid queue name, no
> > exception is seen.
> >
> > Is this normal or am I missing something? In our scenario, we have to
> > absolutely, positively know that the message was received by the broker.
>
> Yes, this is normal.
>
> AMQP does not allow you to send message to a "queue", instead, you
> send a message to an exchange with a routing key.
>
> This routing key is a queue name in this case but it can be just anything.
>
> Messages sent with a routing key that is not matched by appropriate
> binding will be lost. This is the correct behaviour.
>
> If you need to ensure that message is delivered use 'mandatory' flag
> on basic.publish:
> http://www.rabbitmq.com/amqp-0-9-1-reference.html#basic.publish
>
> Cheers,
>  Marek
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120329/d5d52efd/attachment.htm>


More information about the rabbitmq-discuss mailing list