Loading
Re add index_ssh_signatures_on_commit_sha index
What does this MR do and why?
The index index_ssh_signatures_on_commit_sha was removed in
Reintroduce composite index_ssh_signatures_on_p... (!216058 - merged) but is needed for queries that filter by commit_sha.
Local Migration Output
Up
bundle exec rake db:migrate:main VERSION=20260106095223
main: == [advisory_lock_connection] object_id: 132340, pg_backend_pid: 21801
main: == 20260106095223 ReAddIndexSshSignaturesOnCommitSha: migrating ===============
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main: -> 0.0289s
main: -- index_exists?(:ssh_signatures, :commit_sha, {:unique=>true, :name=>"index_ssh_signatures_on_commit_sha", :algorithm=>:concurrently})
main: -> 0.0019s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0003s
main: -- add_index(:ssh_signatures, :commit_sha, {:unique=>true, :name=>"index_ssh_signatures_on_commit_sha", :algorithm=>:concurrently})
main: -> 0.0032s
main: -- execute("RESET statement_timeout")
main: -> 0.0006s
main: == 20260106095223 ReAddIndexSshSignaturesOnCommitSha: migrated (0.0697s) ======Down
bundle exec rake db:migrate:down:main VERSION=
20260106095223
main: == [advisory_lock_connection] object_id: 131960, pg_backend_pid: 26444
main: == 20260106095223 ReAddIndexSshSignaturesOnCommitSha: reverting ===============
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main: -> 0.0290s
main: -- indexes(:ssh_signatures)
main: -> 0.0018s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0003s
main: -- remove_index(:ssh_signatures, {:algorithm=>:concurrently, :name=>"index_ssh_signatures_on_commit_sha"})
main: -> 0.0018s
main: -- execute("RESET statement_timeout")
main: -> 0.0004s
main: == 20260106095223 ReAddIndexSshSignaturesOnCommitSha: reverted (0.0664s) ======
main: == [advisory_lock_connection] object_id: 131960, pg_backend_pid: 26444References
Followup from this comment: !216058 (comment 2985644705)
Incident follow-up: gitlab-com/gl-infra/production-engineering#28113 (closed)
Incident caused by the index removal: gitlab-com/gl-infra/production#21046 (closed)
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Siddharth Kannan