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

Draft
wants to merge 15 commits into
base: main
Choose a base branch
from

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 4 times, most recently from 7a80eff to 1c32c03 Compare November 19, 2024 15:56
[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.
@dumbbell dumbbell force-pushed the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch from 3260b22 to bca2fb0 Compare November 21, 2024 10:32
@dumbbell dumbbell force-pushed the improve-metadata-store-selection-in-rabbitmq_ct_helpers branch from bcec955 to 1b5b125 Compare November 22, 2024 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

1 participant