[rabbitmq-discuss] Publish to queue fails but publish to direct exchange works

Raphael Simon raphael at rightscale.com
Fri Jun 18 07:34:03 BST 2010


Matthias, thanks for following up.  Please see my answers inline.

On Thu, Jun 17, 2010 at 10:52 PM, Matthias Radestock
<matthias at rabbitmq.com>wrote:

> Raphael,
>
> Raphael Simon wrote:
>
>> Running some queries on the broker shows that the queue route is indeed
>> gone from mnesia while the exchange route still exists:  [...]
>>
>
> Simply running 'rabbitmqctl list_bindings' should give the same results.
> Please do that, just to check.
>

Yes indeed but where is the fun in doing that? OK more seriously I did not
understand the subtlety of the empty spaces, now I do (as a side note it
would be nice to have something rather than blank in this case maybe *** or
---).


>
> It looks like the binding to the default exchange has vanished. That really
> should only ever happen if the queue is deleted or that binding is removed
> explicitly. Could the latter have happened? It's actually a grey area of the
> spec; imo it should not be allowed, but rabbit does currently permit it.
>

No I can't think of a place where we would delete a binding. We only ever
delete queues.


>
> Is the default exchange itself still there? Check with 'rabbitmqctl
> list_exchanges'.
>

Yes the exchange still exists.


>
> Is this reproducible at all? I suspect not :(
>

No it has only happens about 15 times on the course of two days. During
these two days our system was having issues and weird things could have
happened on the broker (e.g. the queue could have been deleted and
recreated).


>
> What version of rabbit are you running?


1.7.2


>
>
>  I still don't understand what scenario could cause this to happen though
>> especially since the exchange is auto-delete
>>
>
> Interesting. auto-delete exchanges are very rare. In fact I do not know of
> anybody else using them. So it's possible there is a bug in that code that
> has laid dormant for years. Can you explain your use-case for auto-delete
> exchanges?
>

Embarrassingly enough, I can't :) The fact that we are using direct
exchanges for these queues was a bug we introduced, we will be removing
them.


>
> Also, what version of rabbit are you running?
>

1.7.2


>
>
> Regards,
>
> Matthias.
>

I recreated some bindings from within the broker (directly in mnesia) and
now things started working again. Is there a better way to re-create the
binding to the default exchange without having to re-create the queue?

Obviously I'm still very much interested in finding out what could have
caused the binding to be deleted in the first place.

Thanks,

--
Raphael.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20100617/bc131267/attachment.htm>


More information about the rabbitmq-discuss mailing list