[rabbitmq-discuss] Cluster Pathology

Jason J. W. Williams jasonjwwilliams at gmail.com
Mon Feb 9 20:29:20 GMT 2009


Hi Y'all,

I think I've stumbled on a rather pathological cluster behavior that
may be related to the fact that queues aren't recreated (w/o messages)
on other cluster nodes post failover.

Setup A:

* Consumer 1 attached to MQ node A and creates queue and binding.
* Consumer 2 attaches to MQ node B and creates queue and binding (same
as Consumer 1 and therefore no-op'd).
* Producer 1 attaches to MQ node B (it also creates queue and binding
same as Consumer 1...no-op'd) and publishes messages. Connection to MQ
node B is persistent.
* Consumer 1 dies.
* MQ node A dies. Queues are not recreated on node B, and produced
messages are black holed. Queues are not re-created because Consumer 2
and Producer 1 are not notified by node B to reconnect or any other
error (therefore their reconnect/recreate queue code never gets
triggered).

Setup B:

* Same as Setup A except:
* Producer 1 attaches to MQ node A.
* MQ node A and Consumer 1 fail. Producer 1 reconnects to node B and
recreates queues and bindings. Messages Producer 1 publishes are
placed in the recreated queue. However, Consumer 2 never is handed
messages by node B (which it has been persistently attached to) after
the recreation of the queue.

Any insight is greatly appreciated.

Best Regards,
J




More information about the rabbitmq-discuss mailing list