database error while upgrading gitlab : could not create unique index "index_integrations_on_project_id_and_type_new_unique" DETAIL: Key (project_id, type_new)=(165, Integrations::SlackSlashCommands) is duplicated.
When I try to upgrade gitlab to the last version, this error happen:
There was an error running gitlab-ctl reconfigure:
rails_migration[gitlab-rails] (gitlab::database_migrations line 51) had an error: Mixlib::ShellOut::ShellCommandFailed: bash[migrate gitlab-rails database] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/resources/rails_migration.rb line 16) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of "bash" "/tmp/chef-script20220418-15171-olkjf2" ----
STDOUT: rake aborted!
StandardError: An error has occurred, all later migrations canceled:
PG::UniqueViolation: ERROR: could not create unique index "index_integrations_on_project_id_and_type_new_unique"
DETAIL: Key (project_id, type_new)=(165, Integrations::SlackSlashCommands) is duplicated.
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:166:in `block in add_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:387:in `disable_statement_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:165:in `add_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:51:in `block in up'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:50:in `each'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:50:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retry_mixin.rb:36:in `ddl_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:82:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'
Caused by:
ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: could not create unique index "index_integrations_on_project_id_and_type_new_unique"
DETAIL: Key (project_id, type_new)=(165, Integrations::SlackSlashCommands) is duplicated.
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:166:in `block in add_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:387:in `disable_statement_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:165:in `add_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:51:in `block in up'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:50:in `each'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:50:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retry_mixin.rb:36:in `ddl_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:82:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'
Caused by:
PG::UniqueViolation: ERROR: could not create unique index "index_integrations_on_project_id_and_type_new_unique"
DETAIL: Key (project_id, type_new)=(165, Integrations::SlackSlashCommands) is duplicated.
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:166:in `block in add_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:387:in `disable_statement_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:165:in `add_concurrent_index'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:51:in `block in up'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:50:in `each'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20220213104531_create_indexes_on_integration_type_new.rb:50:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retry_mixin.rb:36:in `ddl_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:82:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
== 20220213104531 CreateIndexesOnIntegrationTypeNew: migrating ================
-- transaction_open?()
-> 0.0000s
-- index_exists?(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_and_type_new_where_inherit_null", :where=>"inherit_from_id IS NULL", :algorithm=>:concurrently})
-> 0.0169s
-- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: integrations, column_name: [:project_id, :type_new]
-- transaction_open?()
-> 0.0000s
-- index_exists?(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_id_and_type_new_unique", :unique=>true, :algorithm=>:concurrently})
-> 0.0170s
-- Index being recreated because the existing version was INVALID: table_name: integrations, column_name: [:project_id, :type_new]
-- transaction_open?()
-> 0.0000s
-- indexes(:integrations)
-> 0.0122s
-- execute("SET statement_timeout TO 0")
-> 0.0006s
-- remove_index(:integrations, {:algorithm=>:concurrently, :name=>"index_integrations_on_project_id_and_type_new_unique"})
-> 0.0706s
-- execute("RESET statement_timeout")
-> 0.0005s
-- execute("SET statement_timeout TO 0")
-> 0.0007s
-- add_index(:integrations, [:project_id, :type_new], {:name=>"index_integrations_on_project_id_and_type_new_unique", :unique=>true, :algorithm=>:concurrently})
-- execute("RESET statement_timeout")
-> 0.0006s
STDERR:
---- End output of "bash" "/tmp/chef-script20220418-15171-olkjf2" ----
Ran "bash" "/tmp/chef-script20220418-15171-olkjf2" returned 1
Running handlers complete
Chef Infra Client failed. 3 resources updated in 01 minutes 02 seconds
===
There was an error running gitlab-ctl reconfigure. Please check the output above for more
details.
===
Does anybody know how to fix this issue? Thank you so much!
Edited by Jason Plum