[Feature flag] Stop creating object pools in FetchIntoObjectPool
What
Enable the :gitaly_object_pool_dont_init_on_fetch
feature flag. With this flag enabled, FetchIntoObjectPool will return an error instead of silently creating a new object pool in case it is missing. This behaviour may lead to inconsistent behaviour in Gitaly Cluster as the RPC is not marked as having repository-creating semantics and and hides unexpected edge cases where object pools that ought to exist don't.
Owners
- Team: Gitaly
- Most appropriate slack channel to reach out to:
#g_gitaly
- Best individual to reach out to:
pks-t
Expectations
What release does this feature occur in first?
What are we expecting to happen?
No change in behaviour should occur.
What might happen if this goes wrong?
Updating object pools may start to fail when they haven't been properly created by Rails before.
What can we monitor to detect problems with this?
Roll Out Steps
-
Enable on staging -
Is the required code deployed on staging? (howto) -
Enable on staging (howto) -
Add featureflagstaging to this issue (howto) -
Test on staging (howto) -
Verify the feature flag was used by checking Prometheus metric gitaly_feature_flag_checks_total
-
-
Enable on production -
Is the required code deployed on production? (howto) -
Enable on production in #production
(howto) -
Add featureflagproduction to this issue -
Verify the feature flag was used by checking Prometheus metric gitaly_feature_flag_checks_total
-
-
Default-enable the feature flag (optional, only required if backwards-compatibility concerns exist) -
Wait for release containg default-disabled feature flag. -
Change the feature flag to default-enabled (howto) -
Wait for release containing default-enabled feature flag.
-
-
Remove feature flag
Please refer to the documentation of feature flags for further information.
Edited by Patrick Steinhardt