Good afternoon<br><br>I have a 2 nodes cluster with mirrored queues and I'm setting delivery_mode = 2 when I'm publishing messages to the cluster. I'm missing messages when I follow these steps below (for test issues).<br><br>Step 0 - Node1 (master) Node2 (slave)<br><br># rabbitmqctl cluster_status<br>Cluster status of node 'rabbit@vid-mq01-mia' ...<br>[{nodes,[{disc,['rabbit@vid-mq01-mia','rabbit@vid-mq02-mia']}]},<br> {running_nodes,['rabbit@vid-mq02-mia','rabbit@vid-mq01-mia']},<br> {partitions,[]}]<br>...done.<br><br># rabbitmqctl list_policies<br>Listing policies ...<br>/ ha-all ^ha\\. {"ha-mode":"all"} 0<br>...done.<br><br>## rabbitmqctl list_queues name durable policy<br>Listing queues ...<br>ha.teste true ha-all<br>...done.<br><br><br>- Step 1 - I write 2 messages, at ha.teste queue, 1 on each member of the cluster and the messages are mirrored as expected. Here there are two messages on each nodes (rabbitmqctl list_queues)<br><br>-- node1<br># rabbitmqctl list_queues<br>Listing queues ...<br>ha.teste 2<br>...done.<br># rabbitmqctl list_queues name pid slave_pids synchronised_slave_pids<br>Listing queues ...<br>ha.teste <'rabbit@vid-mq01-mia'.3.253.0> [<'rabbit@vid-mq02-mia'.2.252.0>] [<'rabbit@vid-mq02-mia'.2.252.0>]<br>...done.<br><br>-- node2<br># rabbitmqctl list_queues<br>Listing queues ...<br>ha.teste 2<br>...done.<br># rabbitmqctl list_queues name pid slave_pids synchronised_slave_pids<br>Listing queues ...<br>ha.teste <'rabbit@vid-mq01-mia'.3.253.0> [<'rabbit@vid-mq02-mia'.2.252.0>] [<'rabbit@vid-mq02-mia'.2.252.0>]<br>...done.<br><br>- Step 2 - I've stopped rabbitmq-server on node1 and node2 assume the master. Here there are the two messages on node2<br><br>-- Logs on node2<br>Mirrored-queue (queue 'ha.teste' in vhost '/'): Promoting slave <'rabbit@vid-mq02-mia'.2.252.0> to master<br><br>-- Status of the cluster on node2<br><br># rabbitmqctl cluster_status<br>Cluster status of node 'rabbit@vid-mq02-mia' ...<br>[{nodes,[{disc,['rabbit@vid-mq01-mia','rabbit@vid-mq02-mia']}]},<br> {running_nodes,['rabbit@vid-mq02-mia']},<br> {partitions,[]}]<br>...done.<br><br>-- Status of the ha.teste queue on node2<br><br># rabbitmqctl list_queues<br>Listing queues ...<br>ha.teste 2<br>...done.<br># rabbitmqctl list_queues name pid slave_pids synchronised_slave_pids<br>Listing queues ...<br>ha.teste <'rabbit@vid-mq02-mia'.2.252.0> [] []<br>...done.<br><br>- Step 3 - I start the rabbitmq-server on node1, node2 still master and node1 is running as slave. Here there are the two messages on node1 and node2<br><br>-- Log on node2<br>=INFO REPORT==== 9-Jan-2013::18:40:46 ===<br>rabbit on node 'rabbit@vid-mq01-mia' up<br><br>-- Status of the cluster on node1<br><br># rabbitmqctl cluster_status<br>Cluster status of node 'rabbit@vid-mq01-mia' ...<br>[{nodes,[{disc,['rabbit@vid-mq01-mia','rabbit@vid-mq02-mia']}]},<br> {running_nodes,['rabbit@vid-mq02-mia','rabbit@vid-mq01-mia']},<br> {partitions,[]}]<br>...done.<br><br>-- Status of the ha.teste queue on node2<br># rabbitmqctl list_queues<br>Listing queues ...<br>ha.teste 2<br>...done.<br><br># rabbitmqctl list_queues name pid slave_pids synchronised_slave_pids<br>Listing queues ...<br>ha.teste <'rabbit@vid-mq02-mia'.2.252.0> [<'rabbit@vid-mq01-mia'.1.253.0>] []<br>...done.<br><br>- Step 4 - I've stopped rabbitmq-server on node2 and node1 assume the master but the messages disapeared<br><br>-- Logs on node1<br><br>=INFO REPORT==== 9-Jan-2013::18:43:42 ===<br>Mirrored-queue (queue 'ha.teste' in vhost '/'): Promoting slave <'rabbit@vid-mq01-mia'.1.253.0> to master<br><br>=INFO REPORT==== 9-Jan-2013::18:43:42 ===<br>rabbit on node 'rabbit@vid-mq02-mia' down<br><br>-- Cluster status on node1<br><br># rabbitmqctl cluster_status<br>Cluster status of node 'rabbit@vid-mq01-mia' ...<br>[{nodes,[{disc,['rabbit@vid-mq01-mia','rabbit@vid-mq02-mia']}]},<br> {running_nodes,['rabbit@vid-mq01-mia']},<br> {partitions,[]}]<br>...done.<br><br>-- Status of the ha.teste queue on node1<br><br># rabbitmqctl list_queues<br>Listing queues ...<br>ha.teste 0<br>...done.<br><br># rabbitmqctl list_queues name pid slave_pids synchronised_slave_pids<br>Listing queues ...<br>ha.teste <'rabbit@vid-mq01-mia'.1.253.0> [] []<br>...done.<br><br> Is it expected? What we have to do at server side or client side
(python script) to make the messages really durable? All the servers are
running centos6 x86_64 and rabbitmq 3.0.1-1.<br><br>Thanks<br><br>Alexandre Bunn<br>