rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected #12737
+135
−44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.