Refresh only existing MRs on push
What does this MR do?
When n
refs are pushed in a single batch, n
UpdateMergeRequestsWorker
jobs are scheduled: gitlab-com/gl-infra/scalability#259 (comment 314624220)
When one or n
new branches are pushed, they are unlikely to have a merge request. In this MR we fetch all the MRs to the pushed changes and schedule UpdateMergeRequestsWorker
only for those branches which have a merge request
Database
SELECT merge_requests.source_branch FROM merge_requests WHERE
merge_requests.source_project_id = 278964 AND (merge_requests.state_id IN (1)) AND merge_requests.source_branch IN
(
'group-export-with-ndjson',
'revert-13382-use-not-valid-to-immediately',
'georgekoltsov/add-group-import-state',
'really-not-a-code-change',
'msj-jira-docs-fix',
'docs-mention-ci-skip',
'new-variables-ui-set-true',
'qa-shl-fix-add-remove-ci-spec',
'renovate/gitlab-uisvg',
'sk/213557-remove-store_mentions',
'mw-cr-filtered-search-refactor',
'update-issue-closing-pattern',
'213334-burnup-chart-data-weights-pd',
'docs-wiki-activity',
'prepare-group-tree-saver-to-ndjson',
'fzimmer-master-patch-77541',
'docs-aws-remove-warning',
'prepare-group-tree-restorer-to-ndjson',
'ag-cycle-time',
'smh-praefect-dataloss-cmd'
)
Query plan: https://explain.depesz.com/s/1qcx
SELECT DISTINCT merge_requests.target_branch FROM merge_requests WHERE
merge_requests.target_project_id = 278964 AND (merge_requests.state_id IN (1)) AND merge_requests.target_branch IN
(
'group-export-with-ndjson',
'revert-13382-use-not-valid-to-immediately',
'georgekoltsov/add-group-import-state',
'really-not-a-code-change',
'msj-jira-docs-fix',
'docs-mention-ci-skip',
'new-variables-ui-set-true',
'qa-shl-fix-add-remove-ci-spec',
'renovate/gitlab-uisvg',
'sk/213557-remove-store_mentions',
'mw-cr-filtered-search-refactor',
'update-issue-closing-pattern',
'213334-burnup-chart-data-weights-pd',
'docs-wiki-activity',
'prepare-group-tree-saver-to-ndjson',
'fzimmer-master-patch-77541',
'docs-aws-remove-warning',
'prepare-group-tree-restorer-to-ndjson',
'ag-cycle-time',
'smh-praefect-dataloss-cmd',
'master'
)
Query plan: https://explain.depesz.com/s/jdcv
Edited by Igor Drozdov