Optimise deployments table by removing an unused index
What does this MR do and why?
This change is part of an epic to optimise the deployments
table: &10185
This will drop the partial_index_deployments_for_project_id_and_tag
index concurrently. It has a usage rate of 0
according to Thanos
The corresponding async-removal MR is here: !119270 (merged). I have confirmed that this index is no longer in gprd
.
Issue: #402516 (closed)
Screenshots or screen recordings
DB Migration output:
$ bundle exec rails db:migrate
main: == [advisory_lock_connection] object_id: 275520, pg_backend_pid: 25555
main: == 20230502014227 DropPartialIndexDeploymentsForProjectIdAndTag: migrating ====
main: -- transaction_open?()
main: -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main: -> 0.1276s
main: -- indexes(:deployments)
main: -> 0.0136s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0004s
main: -- remove_index(:deployments, {:algorithm=>:concurrently, :name=>"partial_index_deployments_for_project_id_and_tag"})
main: -> 0.0039s
main: -- execute("RESET statement_timeout")
main: -> 0.0003s
main: == 20230502014227 DropPartialIndexDeploymentsForProjectIdAndTag: migrated (0.1717s)
main: == [advisory_lock_connection] object_id: 275520, pg_backend_pid: 25555
ci: == [advisory_lock_connection] object_id: 275740, pg_backend_pid: 25558
ci: == 20230502014227 DropPartialIndexDeploymentsForProjectIdAndTag: migrating ====
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- view_exists?(:postgres_partitions)
ci: -> 0.0009s
ci: -- indexes(:deployments)
ci: -> 0.0122s
ci: -- execute("SET statement_timeout TO 0")
ci: -> 0.0004s
ci: -- remove_index(:deployments, {:algorithm=>:concurrently, :name=>"partial_index_deployments_for_project_id_and_tag"})
ci: -> 0.0041s
ci: -- execute("RESET statement_timeout")
ci: -> 0.0004s
ci: == 20230502014227 DropPartialIndexDeploymentsForProjectIdAndTag: migrated (0.0358s)
ci: == [advisory_lock_connection] object_id: 275740, pg_backend_pid: 25558
How to set up and validate locally
N/A
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Pam Artiaga