I have two brokers configured[1] with federation plugin. Both are pointing to each other as upstream.
My test is:
- publish a message on broker A
- consume on broker B
The result is:
- consuming on broker B works
- < good > the queue on broker B pops the message
- < not good > the queue on broker A still has the message
- < reason why this is not good > The issue I see is: if I always publish on one broker and then always consume on the other --> then the queue on the publishing broker will grow until it's full and start dropping messages.
The result I would like is:
- both queues on broker A and B pop their messages when the consumer consumes on broker B
How do I configure RabbitMQ to pop the message from all queues when a consumer consumes the message on broker B? Right now I am trying to do so with RabbitMQ Federation plugin.
[1] The two brokers point to each other as upstreams and I configure them the same way as described in the "simple example" given by the documentation except that there are two brokers each pointing to each other as upstream. The code for the publisher looks like this and the code for the consumer looks like this.

I created this environment:
Server A, Server B.
Created a bidirectional federated in this way:
Federation Upstream: Server_B =
amqp://serveraFederation Upstream: Server_A =
amqp://serverbThen created the same policy on both the servers:
Created one queue to the Server A called:
fed.test1then created a consumer to the Server B as:Then published a message to the Server A --->
fed.test1The message has been consumed to the Server B and the queues messages count is
zeroto both the queues (Server A, Server B).This works as you expected.
Hope it helps.