rabbitmq-server icon indicating copy to clipboard operation
rabbitmq-server copied to clipboard

Feature flags: Support "auto-enable" feature flags

Open dumbbell opened this issue 2 years ago • 4 comments

A feature flag can be marked as "auto-enable" by setting auto_enable to true in its properties.

An auto-enable feature flag is automatically enabled as soon as all nodes in the cluster support it. This is achieved by trying to enable it when RabbitMQ starts, when a plugin is enabled/disabled or when a node joins/re-joins a cluster. If the feature flag can't be enabled, the error is ignored.

However, it should be used cautiously, especially if the feature flag has a migration function, because it might be enabled at an inappropriate time w.r.t. the user's workload.

dumbbell avatar Jul 19 '22 06:07 dumbbell

@kjnilsson: Do you mind if I wait a real use case before merging this? I mean, when you have a feature flag which would benefit from this, then we can really test that the behavior is the one expected.

dumbbell avatar Aug 11 '22 08:08 dumbbell

@kjnilsson: Do you mind if I wait a real use case before merging this? I mean, when you have a feature flag which would benefit from this, then we can really test that the behavior is the one expected.

The two linked PRs need this feature. How should we proceed?

kjnilsson avatar Aug 11 '22 08:08 kjnilsson

@kjnilsson: Do you mind if I wait a real use case before merging this? I mean, when you have a feature flag which would benefit from this, then we can really test that the behavior is the one expected.

The two linked PRs need this feature. How should we proceed?

You could rebase your branches on top of this one and see how it goes when doing manal upgrade tests and/or running testsuites in a mixed-version mode.

You won't have any migration function associated with your feature flags, right?

dumbbell avatar Aug 11 '22 09:08 dumbbell

I don't have any feature flags apart from a dummy one so no.

Ok I will take a look

kjnilsson avatar Aug 11 '22 09:08 kjnilsson

Closing this pull request for now. We don't have any use case for it currently.

dumbbell avatar Feb 07 '23 16:02 dumbbell