Fix merge request keep-around orphan query

What does this MR do and why?

#475246 (closed)

There is no perfectly matching index for id and target project. So here we switch to do batching based off of iid instead.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

  1. Run the report:
    $ bundle exec rake gitlab:keep_around:orphaned FILENAME=after.csv PROJECT_PATH=root/example

New DB Queries

  1. add_merge_request_shas

https://console.postgres.ai/gitlab/gitlab-production-main/sessions/32405/commands/100103

SELECT
  "merge_requests"."id",
  "merge_requests"."merge_commit_sha"
FROM
  "merge_requests"
WHERE
  "merge_requests"."target_project_id" = 278964
ORDER BY
  "merge_requests"."id" ASC
LIMIT 1000;
  1. add_merge_request_diff_shas

https://console.postgres.ai/gitlab/gitlab-production-main/sessions/32739/commands/100908

SELECT
  "merge_request_diffs"."id",
  "merge_request_diffs"."start_commit_sha",
  "merge_request_diffs"."head_commit_sha"
FROM
  "merge_request_diffs"
  INNER JOIN "merge_requests" ON "merge_requests"."id" = "merge_request_diffs"."merge_request_id"
WHERE
  "merge_requests"."target_project_id" = 278964
ORDER BY
  "merge_request_diffs"."merge_request_id" ASC, "merge_request_diffs"."id" ASC
LIMIT 1000;
Edited by Furkan Ayhan

Merge request reports

Loading