[rabbitmq-discuss] Regarding Federation Plugin Configuration
simon at rabbitmq.com
Mon May 13 10:25:37 BST 2013
On 11/05/2013 19:50, Jain, Punit wrote:
> Thanks Simon for prompt response and for the link. I verified the
> configuration according to my requirements, but messages are not
> being backed-up in upstream queue. Properties like expires and
> message_ttl are set to default. I couldn't figure out any plausible
> reason for this. Could it be related to exchange/queue publishing
> properties on upstream broker?
I don't think so. On a more modern RabbitMQ you could publish with low
per-message TTL, but 2.8.2 does not support that.
My expectation is still that you are doing something weird; keeping
messages while the link is down is a fundamental property of federation;
if it were broken in any release I would expect to have heard about it
So to debug this, let's look at how it's meant to work:
The downstream broker declares the upstream queue named "federation
(exchange) -> (node)" the first time the link goes up. This queue is
durable and is not deleted at an point. The downstream broker then binds
this queue to the upstream exchange (via an intermediate exchange)
whenever a binding is declared downstream.
When a link is up, the messages from the upstream exchange are routed to
this queue and consumed immediately by the downstream broker. When a
link goes down the consuming stops but the bindings still exist, so
messages back up in the queue. When the link comes back, the downstream
broker deletes and recreates all the bindings (in case they have changed
meanwhile) and starts consuming from the queue again.
So if that's how it's meant to work, what is going wrong in your case?
Is the queue being deleted? Are the bindings to the queue being deleted?
More information about the rabbitmq-discuss