When testing Mirroring, I found that it works unstable for brokers that are in a cluster. Messages are not deleted in the mirror broker if they were distributed (initial distribution and redistribution too) from the main to another broker in the cluster.
I have the following scheme, brokers A1 and A2 into clusters and A1 has mirror B1.
- Create 3 brokers (A1, A2, B1) with default user (root) and password (root) by artemis create
- Replace their configuration with the configuration from the attachment (brokerA1.xml and etc.)
- Run this brokers artemis run
- Run ArtemisConsumer from maven project ArtemisClusterMirror.rar in attachment
- Run ArtemisProducer from maven project ArtemisClusterMirror.rar in attachment
- Wait for the producer to finish
- Turn off consumer
- Compare the number of messages queue Q1 in brokers A1 and B1
The number of messages in the queue Q1 is the same (0), it is empty
The queue Q1 in mirror broker B1 contains 50 messages that were sent by the producer. There were no signals to delete these messages from broker A1 when moving them to another cluster broker A2 (with consumer). Screenshots in attachment.
It is also not clear why the internal cluster queues with the notif prefix are mirrored, in theory they should not. They also often contain messages that are not in the main broker.