Skip to content

Cleanup internal exchanges and queues after disabling plugin/policy #13492

@kostik2022

Description

@kostik2022

Describe the bug

Hello,
we use federated clusters of RabbitMQ v.3.12.8, and faced current issue when added and then deleted policy for all objects with federation-upstream-set set. At the cluster this policy was apllied everything looks (!) ok; but at all others clusters we observed disconnected (gray colored) federated queues and exchanges. This object can't be deleted usit cli, API and WebUI, and even with help of additional policies. Nothing helps, even completely disabling-re-enabling federation plugins.
We discovered, that this is looks like these objects are stored somewhere in the cache at cluster where policy was applied. The broker definitions at this cluster was ok (no these rubbish objects there). The only solution we found:

  1. Export broker definitions from the cluster where policy was applied
  2. Completely delete cluster, clean up RabbitMQ and mnesia.
  3. Start RabbitMQ as clean deployment and import definitions.

We suspect this is related to ols solved bug rabbitmq/rabbitmq-federation#63

Reproduction steps

  1. Create federation of at least 2 clusters RabbitMQ (v.3.12.8 used)
  2. Create policy for all objects with empty pattern and correct federation-upstream-set attribute
  3. Remove this policy
  4. Observe rubbish internal federated queues and exchanges at another federated cluster.
  5. Try to delete them...

Expected behavior

Internal federated objects are automatically cleared when corresponding policy is removed. Or, they can be deleted manually (cli, API, WebUI what else)

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions