[FF] cache_committer_emails_from_diff -- cache committer emails from diff to cut query call rate
Summary
Roll out the committer-emails-from-diff caching (introduced in !243855 (merged)) currently behind the cache_committer_emails_from_diff feature flag.
- DRI: @marc_shaw
- Team Slack channel:
#g_code_review
Note
Process and guidance live in the docs — this issue is just the commands and a place to track the rollout. "Rolling out" means incrementally enabling the flag on GitLab.com to validate stability — it is not the same as releasing the feature, which happens when the flag is removed. Feature flag controls · Feature flag lifecycle
What could go wrong?
committer_emails_from_diff backs the approval committer-filter (approval_committer_emails_from_diff). This flag caches its result in Rails.cache keyed by the immutable merge_request_diff id (6h TTL backstop). Blast radius is limited to the approval-committer path; risk is a stale/incorrect committer set if the diff-id keying assumption is ever violated. Watch Redis working-set size during rollout and the read-replica query rate for this query. Rollback = disable the flag (queries resume immediately).
Rollout
Run all production /chatops in #production and cross-post the results to #g_code_review.
Non-production
/chatops gitlab run feature set cache_committer_emails_from_diff 50 --actors --dev --pre --staging --staging-ref
/chatops gitlab run feature set cache_committer_emails_from_diff true --dev --pre --staging --staging-refProduction — percentage rollout (wait ≥15 min between steps, watch dashboards):
/chatops gitlab run feature set cache_committer_emails_from_diff <percentage> --actorsCleanup
/chatops gitlab run release check https://gitlab.com/gitlab-org/gitlab/-/merge_requests/243855 19.2
/chatops gitlab run feature delete cache_committer_emails_from_diff --dev --pre --staging --staging-ref --productionRollback
/chatops gitlab run feature set cache_committer_emails_from_diff false # production
/chatops gitlab run feature set cache_committer_emails_from_diff false --dev --pre --staging --staging-ref # non-production