"Explicit synchronisation can be triggered in two ways: manually or automatically. If a queue is set to automatically synchronise it will synchronise whenever a new slave joins - becoming unresponsive until it has done so.
Queues can be set to automatically synchronise by setting the ha-sync-mode policy key to automatic. ha-sync-mode can also be set to manual. If it is not set then manual is assumed."
So, by default the ha-sync-mode is set to manual , which means that queue synchronization depends
on explicit synchronization (e.g.: rabbitmqctl sync_queue ...).
The default mode that we are setting when configure a new cluster is 'all', which is described on the code as:
def set_ha_mode(vhost, mode, params=None, sync_mode='automatic'):
* 'all': Queue is mirrored across all nodes in the cluster. When a new
node is added to the cluster, the queue will be mirrored to that node.
So, I suggest to explicitly set the ha-sync-mode to True, on all of the 3 modes.
[Environment]
Trusty 14.04
OpenStack Kilo Release
RabbitMQ 3.4
[Description]
The ha-sync-mode is set to manual by default, resulting in no queue synchronization among the cluster.
Please review the official RMQ documentation https:/ /www.rabbitmq. com/ha. html, it says:
"Explicit synchronisation can be triggered in two ways: manually or automatically. If a queue is set to automatically synchronise it will synchronise whenever a new slave joins - becoming unresponsive until it has done so.
Queues can be set to automatically synchronise by setting the ha-sync-mode policy key to automatic. ha-sync-mode can also be set to manual. If it is not set then manual is assumed."
So, by default the ha-sync-mode is set to manual , which means that queue synchronization depends
on explicit synchronization (e.g.: rabbitmqctl sync_queue ...).
The default mode that we are setting when configure a new cluster is 'all', which is described on the code as:
def set_ha_mode(vhost, mode, params=None, sync_mode= 'automatic' ):
* 'all': Queue is mirrored across all nodes in the cluster. When a new
node is added to the cluster, the queue will be mirrored to that node.
So, I suggest to explicitly set the ha-sync-mode to True, on all of the 3 modes.