Skip to content

A feature flag obtained via refresh may override a feature flag with higher precedence. #317

@jimmyca15

Description

@jimmyca15

See this discussion for details of the original detection of this issue.

When using a setup like below to retrieve feature flags

.UseFeatureFlags(ffOptions =>
    { 
        ffOptions.Select(KeyFilter.Any, LabelFilter.Null);
        ffOptions.Select(KeyFilter.Any, "prod");
    });

It is expected that feature flags from the prod label override the flags with the null label. This works as expected as long as feature flags are not refreshed.

An issue can occur when feature flags are refreshed. When a change is detected for a feature flag with the null label, the new value will be used in the application. This happens even if there was a flag with the same name from the prod label that was in use.

Expected

No matter how many times I refresh feature flags, and regardless of what has changed, a feature flag with a higher precedence label will override a similarly named flag with the a lower precedence label.

Actual

If a feature flag with a low precedence label is changed and a refresh is triggered, that feature flag will override any feature flags with the same name even if they have a higher precedence.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions