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.
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.