[Feature flag] Rollout of `api_caching_merge_requests`
Feature
Related !61067 (merged)
This feature uses the :api_caching_merge_requests feature flag!
Owners
- Team: groupsource code
- Most appropriate slack channel to reach out to:
#g_create_source-code-be - Best individual to reach out to: @robotmay_gitlab
- PM: @danielgruesso
Stakeholders
The Rollout Plan
- Partial Rollout on GitLab.com with beta groups
- Percentage Rollout on GitLab.com
- Rollout Feature for everyone as soon as it's ready
Beta Groups/Projects:
-
gitlab-org/gitlabproject
Expectations
What are we expecting to happen?
Response times for the merge requests list API should go down
What might happen if this goes wrong?
- Response times for the merge requests list API could go up
What can we monitor to detect problems with this?
Rollout Timeline
Rollout Steps
Preparation Phase
-
Enable on staging ( /chatops run feature set feature_name true --staging) -
Test on staging -
Announce on the issue an estimated time this will be enabled on GitLab.com -
Check if the feature flag change needs to be accompanied with a change management issue. Cross link the issue here if it does. -
Ensure that you or a representative in development can be available for at least 2 hours after feature flag updates in production. If a different developer will be covering, or an exception is needed, please inform the oncall SRE by using the @sre-oncallSlack alias.
Partial Rollout Phase
-
Enable on GitLab.com for individual groups/projects listed above and verify behaviour ( /chatops run feature set --project=gitlab-org/gitlab api_caching_merge_requests true) -
Verify behaviour (See Beta Groups) and add details with screenshots as a comment on this issue -
If it is possible to perform an incremental rollout, this should be preferred. Proposed increments are: 10%,50%,100%. Proposed minimum time between increments is 15 minutes.- When setting percentages, make sure that the feature works correctly between feature checks. See #327117 (closed) for more information
- For actor-based rollout:
/chatops run feature set api_caching_merge_requests 10 --actors - For time-based rollout:
/chatops run feature set api_caching_merge_requests 10
Full Rollout Phase
-
Make the feature flag enabled by default i.e. Change default_enabledtotrue -
Cross post chatops slack command to #support_gitlab-com(more guidance when this is necessary in the dev docs) and in your team channel -
Announce on the issue that the flag has been enabled -
Create a cleanup issue using the "Feature Flag Removal" template
Rollback Steps
-
This feature can be disabled by running the following Chatops command:
/chatops run feature set api_caching_merge_requests false