[Feature flag] Rollout of `cached_api_jira_pulls`
What
Enable the cached_api_jira_pulls 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
Expectations
Response JSON will be composed mostly of cached entities.
What are we expecting to happen?
- Wiggly lines go down (particularly SQL query count, for which this endpoint is high)
- Single cache call per page load
What might happen if this goes wrong?
- Stale data could be served
- Excessive load on the cache
What can we monitor to detect problems with this?
- https://dashboards.gitlab.net/d/api-rails-controller/api-rails-controller?viewPanel=2155933118&orgId=1&var-PROMETHEUS_DS=Global&var-environment=gprd&var-stage=main&var-controller=Grape&var-action=All
- https://dashboards.gitlab.net/d/api-rails-controller/api-rails-controller?orgId=1&var-PROMETHEUS_DS=Global&var-environment=gprd&var-stage=main&var-controller=Grape&var-action=GET%20%2Fapi%2Frepos%2F-%2Fjira%2Fpulls
Beta groups/projects
If applicable, any groups/projects that are happy to have this feature turned on early. Some organizations may wish to test big changes they are interested in with a small subset of users ahead of time for example.
- Scoped to
current_userso will be a percentage-actors based approach to rollout - This is because the project doesn't form part of the scope in one of the endpoints
Roll Out Steps
-
Enable on staging ( /chatops run feature set feature_name true --staging) -
Test on staging -
Ensure that documentation has been updated -
Enable on GitLab.com for individual groups/projects listed above and verify behaviour ( /chatops run feature set --project=gitlab-org/gitlab feature_name true) -
Coordinate a time to enable the flag with the SRE oncall and release managers - In
#productionmention@sre-oncalland@release-managers. Once an SRE on call and Release Manager on call confirm, you can proceed with the rollout
- In
-
Announce on the issue an estimated time this will be enabled on GitLab.com. Note: Once a feature rollout has started, it is not necessary to inform @sre-oncall/@release-managersat each stage of the gradual rollout. -
Enable on GitLab.com by running chatops command in #production(/chatops run feature set feature_name true) -
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 -
Remove feature flag and add changelog entry. Ensure that the feature flag definition YAML file has been removed in the same MR that is removing the feature flag from the code -
After the flag removal is deployed, clean up the feature flag by running chatops command in #productionchannel
Rollback Steps
-
This feature can be disabled by running the following Chatops command:
/chatops run feature set --project=gitlab-org/gitlab feature_name false
Edited by Robert May