Skip to content

Add (async) index on target_project_id for MR violations

Sam Figueroa requested to merge sf/feature/424390-add-index-on-violations into master

What does this MR do and why?

Add index on target_project_id for MR violations. This is a follow-up to a performance discussion on MR !120636

Screenshots or screen recordings

Screenshot_2023-09-05_at_16.52.44

$> rake db:migrate

WARNING: This version of GitLab depends on gitlab-shell 14.27.0, but you're running 14.26.0. Please update gitlab-shell.
main: == [advisory_lock_connection] object_id: 226220, pg_backend_pid: 80090
main: == 20230906181457 AddIndexToViolationsOnTargetProjId: migrating ===============
main: -- index_exists?("merge_requests_compliance_violations", [:target_project_id, :id], {:name=>"i_compliance_violations_for_export", :algorithm=>:concurrently})
main:    -> 0.0037s
main: -- add_index_options("merge_requests_compliance_violations", [:target_project_id, :id], {:name=>"i_compliance_violations_for_export", :algorithm=>:concurrently})
main:    -> 0.0001s
main: == 20230906181457 AddIndexToViolationsOnTargetProjId: migrated (0.1939s) ======

main: == [advisory_lock_connection] object_id: 226220, pg_backend_pid: 80090 

ci: == [advisory_lock_connection] object_id: 226200, pg_backend_pid: 82139
ci: == 20230906181457 AddIndexToViolationsOnTargetProjId: migrating ===============
ci: -- index_exists?("merge_requests_compliance_violations", [:target_project_id, :id], {:name=>"i_compliance_violations_for_export", :algorithm=>:concurrently})
ci:    -> 0.0040s
ci: -- add_index_options("merge_requests_compliance_violations", [:target_project_id, :id], {:name=>"i_compliance_violations_for_export", :algorithm=>:concurrently})
ci:    -> 0.0003s
ci: == 20230906181457 AddIndexToViolationsOnTargetProjId: migrated (0.1921s) ======

ci: == [advisory_lock_connection] object_id: 226200, pg_backend_pid: 82139

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Sam Figueroa

Merge request reports