Skip to content
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

rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected #12737

Merged

Conversation

dumbbell
Copy link
Member

Why

Once khepr_db is enabled by default, we need another way to disable it to select Mnesia instead.

How

We use the new relative forced feature flags mechanism to indicate if we want to explicitly enable or disable khepri_db. This way, we don't touch other stable feature flags and only mess with Khepri.

However, this mechanism is not supported by RabbitMQ 4.0.x and older. They will ignore the setting. Therefore, to make this work in mixed-version testing, after a node has been started, we try to enable khepri_db if we detect that it doesn't support this mechanism.

At the end, we compare the effective metadata store to the expected one. If they don't match, we skip the test.

While here, change rjms_topic_selector_SUITE to only choose Khepri without specifying any feature flags.

@dumbbell dumbbell self-assigned this Nov 15, 2024
@dumbbell dumbbell force-pushed the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch 6 times, most recently from bcec955 to 1b5b125 Compare November 22, 2024 12:07
@dumbbell dumbbell force-pushed the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch from 24237cf to 55587eb Compare November 25, 2024 15:42
@dumbbell dumbbell force-pushed the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch 9 times, most recently from 764a32f to 7aa5975 Compare November 29, 2024 11:39
@dumbbell
Copy link
Member Author

dumbbell commented Nov 29, 2024

This pull request depends on the release of RabbitMQ because it needs the following fixes already backported to v4.0.x:

@michaelklishin michaelklishin changed the title rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected Post-4.0.5: rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected Nov 29, 2024
@michaelklishin michaelklishin modified the milestones: 4.0.6, 4.1.0 Nov 29, 2024
@dumbbell dumbbell force-pushed the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch 3 times, most recently from dd0ef7a to 4ec68fb Compare December 2, 2024 13:37
[Why]
Once `khepr_db` is enabled by default, we need another way to disable it
to select Mnesia instead.

[How]
We use the new relative forced feature flags mechanism to indicate if we
want to explicitly enable or disable `khepri_db`. This way, we don't
touch other stable feature flags and only mess with Khepri.

However, this mechanism is not supported by RabbitMQ 4.0.x and older.
They will ignore the setting. Therefore, to make this work in
mixed-version testing, we set the `$RABBITMQ_FEATURE_FLAGS` variable for
the secondary umbrella. This part will go away once we test against
RabbitMQ 4.1.x as the secondary umbrella in the future.

At the end, we compare the effective metadata store to the expected one.
If they don't match, we skip the test.

While here, change `rjms_topic_selector_SUITE` to only choose Khepri
without specifying any feature flags.
... instead of 4.0.3.

[Why]
We need the following bugfixes:
* one in the Khepri reset code backported in #12739 and published in
  RabbitMQ 4.0.4.
* one in the quorum queue code backported in #12850 and published in
  RabbitMQ 4.0.5.
@dumbbell dumbbell force-pushed the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch from 4ec68fb to 7a9eef1 Compare December 17, 2024 08:59
@dumbbell dumbbell changed the title Post-4.0.5: rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected Dec 17, 2024
@dumbbell dumbbell marked this pull request as ready for review December 18, 2024 13:26
@dumbbell dumbbell merged commit 4e6ab72 into main Dec 18, 2024
273 checks passed
@dumbbell dumbbell deleted the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch December 18, 2024 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants