Drop an index from the deployments table concurrently
requested to merge async-drop-partial_index_deployments_for_legacy_successful_deployments into master
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_legacy_successful_deployments
index concurrently. There is no previous MR to drop the index asynchronously in production.
Given that the index has a usage rate of 0
according to Thanos, and its size in production is 16kB
, I think this should be okay to drop concurrently.
Index size in production
Screenshots or screen recordings
DB Migration output
main: == [advisory_lock_connection] object_id: 179980, pg_backend_pid: 63243
main: == 20231027013210 RemovePartialIndexDeploymentsForLegacySuccessfulDeployments: migrating
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main: -> 0.1004s
main: -- indexes(:deployments)
main: -> 0.0072s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0001s
main: -- remove_index(:deployments, {:algorithm=>:concurrently, :name=>"partial_index_deployments_for_legacy_successful_deployments"})
main: -> 0.0034s
main: -- execute("RESET statement_timeout")
main: -> 0.0003s
main: == 20231027013210 RemovePartialIndexDeploymentsForLegacySuccessfulDeployments: migrated (0.1341s)
main: == [advisory_lock_connection] object_id: 179980, pg_backend_pid: 63243
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