[Feature flag] Enable use of structured errors for UserSquash
What
Enable the :gitaly_user_squash_improved_error_handling
feature flag, which enables the use of structured errors for UserSquash. Previous to this change, a subset of errors would have been returned as successful, which caused us to create excessive replication jobs. With this change, we now return errors in all cases except the successful one.
Owners
- Team: Gitaly
- Most appropriate slack channel to reach out to:
#g_create_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 user-visible change in behaviour should occur. Ideally, we should see that there are no more replication jobs created as part of UserSquash in case it fails.
What might happen if this goes wrong?
UserSquash may start to fail.
What can we monitor to detect problems with this?
-
UserSquash feature status
- Note that it is expected that we now return more errors for some cases, so it would not be surprising if we saw an increase in the error rate.
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