[rabbitmq-discuss] active/active message persistence problem

Matthew Sackman matthew at rabbitmq.com
Tue Nov 22 11:34:43 GMT 2011


On Tue, Nov 22, 2011 at 12:54:57AM -0600, Cameron Davison wrote:
> You can run "rabbitmqctl list_queues name slave_pids
> synchronised_slave_pids" to see if the cluster is synchronized or not
> but I can tell you right now that they will not be. In step 3 when you
> start vm1 back up and it is the slave. It is telling you that there
> are 10 messages in the vm2 queue. When you talk to a broker in a
> cluster it will talk to the master queue. VM1 will not be synchronized
> until all 10 messages are read out of the vm2 queue, because rabbitmq
> mirrored clusters do not read old messages that are already in the
> master queue. The slave reads the tail of the new message being sent
> to the master and expects that once it has been long enough then it
> will catch up to the same state as the master.

Indeed, this is precisely correct. There is currently no eager
synchronisation of the queue from the master to any slaves. There is
only passive synchronisation which is achieved by draining the queue of
the unsynchronised queue head.

> http://www.rabbitmq.com/ha.html "Unsynchronised Slaves" I think does a
> good job of explaining it.

I'm glad someone's read it! ;)

Matthew


More information about the rabbitmq-discuss mailing list