The Federation Link status appears as "Running" in the management console, but messages are not being retrieved from the upstream cluster. The following symptoms are observed:
RabbitMQ queue names and policy regex patterns are strictly case-sensitive. This issue occurs when a naming mismatch exists between the actual queue name on the cluster and the regex pattern defined in the RabbitMQ Policy.
Because RabbitMQ treats queue names as unique byte arrays, any variation in casing (e.g., lowercase "test" vs. uppercase "Test") prevents the policy from "hooking" into the queue. Without a successfully attached policy, the downstream cluster does not initiate the consumer link on the upstream source.
Step 1: Identify the "Effective Policy" Navigate to the Queues tab on the downstream cluster. Review the Policy column for the target queue. If the federation policy name is blank, the policy pattern does not match the queue name.
Step 2: Verify Exact Casing Copy the queue name directly from the Name field in the RabbitMQ Management UI to ensure accuracy.
Step 3: Update the Policy Pattern Update the federation policy Pattern field to reflect the exact casing identified in Step 2.
Step 4: Confirm Consumer Attachment
Best Practice:
To make policies more resilient to naming inconsistencies or human error, use a case-insensitive regex by prefixing the pattern with (?i).
References: