cosmo
cosmo copied to clipboard
POC of how we might implement override
Alternative (very incomplete) POC for feature flagging. Instead of replacing an entire subgraph we simply enable a single field to be incrementally migrated using a feature flag provider.
Need to think about planning caching implications and performance considerations — FeatureFlagProvider.IsEnabled is dynamic and can change from run to run.
Under the hood, the FeatureFlagProvider might look at RequestContext.Headers()["user-id"] to determine if it should flag. It could also simply randomly assign a value from 0-1 and < X return true, making it truly random.
We would likely need to augment the FeatureFlagProvider with a way to provide a cache key per overridden parameter that we can cache the plans against.