Conditionally disable fastupdate on GIN indexes (issues, merge_requests)
What does this MR do and why?
We are investigating why some GIN indexes are not present on some Gitlab self-hosted installs. On the mean time, disabling fastupdate on some of those gin indexes was causing problems when upgrading to Gitlab 15.6
Migration output
UP
bin/rails db:migrate
main: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: migrating ===========
main: -- indexes(:issues)
main: -> 0.0425s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER INDEX index_issues_on_title_trigram SET ( fastupdate = false ) ;\n")
main: -> 0.0008s
main: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: migrated (0.0603s) ==
main: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: migrating =====
main: -- indexes(:issues)
main: -> 0.0245s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER INDEX index_issues_on_description_trigram SET ( fastupdate = false ) ;\n")
main: -> 0.0007s
main: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: migrated (0.0284s)
main: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: migrating ====
main: -- indexes(:merge_requests)
main: -> 0.0267s
main: -- current_schema()
main: -> 0.0007s
main: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: migrated (0.0319s)
main: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: migrating
main: -- indexes(:merge_requests)
main: -> 0.0251s
main: -- current_schema()
main: -> 0.0005s
main: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: migrated (0.0280s)
ci: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: migrating ===========
ci: -- indexes(:issues)
ci: -> 0.0299s
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- execute("ALTER INDEX index_issues_on_title_trigram SET ( fastupdate = false ) ;\n")
ci: -> 0.0008s
ci: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: migrated (0.0334s) ==
ci: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: migrating =====
ci: -- indexes(:issues)
ci: -> 0.0255s
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- execute("ALTER INDEX index_issues_on_description_trigram SET ( fastupdate = false ) ;\n")
ci: -> 0.0007s
ci: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: migrated (0.0291s)
ci: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: migrating ====
ci: -- indexes(:merge_requests)
ci: -> 0.0217s
ci: -- current_schema()
ci: -> 0.0002s
ci: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: migrated (0.0239s)
ci: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: migrating
ci: -- indexes(:merge_requests)
ci: -> 0.0204s
ci: -- current_schema()
ci: -> 0.0004s
ci: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: migrated (0.0224s)
DOWN
bin/rails db:migrate:down:main db:migrate:down:ci VERSION=20221019194751
main: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: reverting ===========
main: -- indexes(:issues)
main: -> 0.0445s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER INDEX index_issues_on_title_trigram RESET ( fastupdate ) ;\n")
main: -> 0.0036s
main: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: reverted (0.0641s) ==
ci: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: reverting ===========
ci: -- indexes(:issues)
ci: -> 0.0477s
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- execute("ALTER INDEX index_issues_on_title_trigram RESET ( fastupdate ) ;\n")
ci: -> 0.0017s
ci: == 20221019194751 DisableFastupdateOnIssuesTitleGinIndex: reverted (0.0524s) ==
bin/rails db:migrate:down:main db:migrate:down:ci VERSION=20221019195754
main: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: reverting =====
main: -- indexes(:issues)
main: -> 0.0465s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER INDEX index_issues_on_description_trigram RESET ( fastupdate ) ;\n")
main: -> 0.0011s
main: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: reverted (0.0666s)
ci: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: reverting =====
ci: -- indexes(:issues)
ci: -> 0.0536s
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- execute("ALTER INDEX index_issues_on_description_trigram RESET ( fastupdate ) ;\n")
ci: -> 0.0007s
ci: == 20221019195754 DisableFastupdateOnIssuesDescriptionGinIndex: reverted (0.0573s)
bin/rails db:migrate:down:main db:migrate:down:ci VERSION=20221019200033
main: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: reverting ====
main: -- indexes(:merge_requests)
main: -> 0.0485s
main: -- current_schema()
main: -> 0.0007s
main: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: reverted (0.0540s)
ci: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: reverting ====
ci: -- indexes(:merge_requests)
ci: -> 0.0410s
ci: -- current_schema()
ci: -> 0.0003s
ci: == 20221019200033 DisableFastupdateOnMergeRequestsTitleGinIndex: reverted (0.0451s)
bin/rails db:migrate:down:main db:migrate:down:ci VERSION=20221019200206
main: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: reverting
main: -- indexes(:merge_requests)
main: -> 0.0374s
main: -- current_schema()
main: -> 0.0006s
main: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: reverted (0.0439s)
ci: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: reverting
ci: -- indexes(:merge_requests)
ci: -> 0.0409s
ci: -- current_schema()
ci: -> 0.0023s
ci: == 20221019200206 DisableFastupdateOnMergeRequestsDescriptionGinIndex: reverted (0.0475s)
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.
Related to #383621 (closed)
Edited by Mario Celi