[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-ref

Production — percentage rollout (wait ≥15 min between steps, watch dashboards):

/chatops gitlab run feature set cache_committer_emails_from_diff <percentage> --actors

Cleanup

/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 --production

Rollback

/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