UpdateMergeRequestsWorker generating very large queries
UpdateMergeRequestsWorker
calls MergeRequests::RefreshService
which calls merge_request.includes_any_commits?(push_commit_ids)
which calls merge_request_diff.commits_by_shas(shas).exists?
.
The query generated by merge_request_diff_commits.where(sha: shas)
generated a very long SQL string that was filling up the slow query log because there were a lot of SHAs (~60k) for this push.
Relevant line: https://gitlab.com/gitlab-org/gitlab/blob/master/app/models/merge_request.rb#L408
Edited by Heinrich Lee Yu