Skip to content

Run rabbit_registry boot step after pre_boot #13381

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 21, 2025

Conversation

the-mikedavis
Copy link
Collaborator

The rabbit_registry boot step starts up the rabbit_registry gen server from rabbit_common. This is a registry somewhat similar to the feature flag registry - it's meant to protect an ETS table used for looking up implementers of behaviors. The registry and its ETS table should be available as early as possible: the step should enable external_infrastructure rather than require it.

This is a quick fix for #13352. The crash in #13352 occurs because the database boot step runs before the rabbit_registry and Khepri deletes transient queues for the local node on during init (and that operation reads from the registry).

Fixes #13352

The `rabbit_registry` boot step starts up the `rabbit_registry` gen
server from `rabbit_common`. This is a registry somewhat similar to
the feature flag registry - it's meant to protect an ETS table used for
looking up implementers of behaviors. The registry and its ETS table
should be available as early as possible: the step should enable
external_infrastructure rather than require it.
@the-mikedavis the-mikedavis force-pushed the md/rabbit-registry-boot-step branch from 86f3f6f to 3867012 Compare February 21, 2025 13:54
@the-mikedavis the-mikedavis marked this pull request as ready for review February 21, 2025 18:40
@michaelklishin
Copy link
Collaborator

Good catch!

@michaelklishin michaelklishin merged commit 3059182 into main Feb 21, 2025
270 checks passed
@michaelklishin michaelklishin deleted the md/rabbit-registry-boot-step branch February 21, 2025 19:30
michaelklishin added a commit that referenced this pull request Feb 21, 2025
Run `rabbit_registry` boot step after `pre_boot` (backport #13381)
michaelklishin added a commit that referenced this pull request Feb 21, 2025
Run `rabbit_registry` boot step after `pre_boot` (backport #13381) (backport #13393)
@michaelklishin
Copy link
Collaborator

michaelklishin commented Feb 28, 2025

This revealed an unusual (or, well, 10 years out of date) choice of boot step dependencies in rabbitmq_delayed_message_exchange rabbitmq/rabbitmq-delayed-message-exchange#298, which broke. It was a good opportunity to revisit them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Broker does not restart with binding to exclusive queue and Khepri activated
2 participants