sameersbn / sameersbn/docker-gitlab
Migration from 13.10.2 to 13.12.1 causes "ERROR: duplicate key value violates unique constraint"
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 8.1k
- Forks
- 2.1k
- Avg merge
- 17h 47m
- Merged PRs (30d)
- 7
Description
Hello,
While updating GitLab I encountered a duplicate key error:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "pg_constraint_conrelid_contypid_conname_index"
...
Caused by:
gitlab_1 | ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "pg_constraint_conrelid_contypid_conname_index"
gitlab_1 | DETAIL: Key (conrelid, contypid, conname)=(1927909, 0, fk_rails_bb3355782d) already exists.
Do you think that I should rebuild the indexes?
Thanks for the help. Here is the detailed log:
2021-06-02 10:43:35,604 INFO success: sshd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
gitlab_1 | 2021-06-02 10:43:35,604 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
gitlab_1 | 2021-06-02 10:43:35,605 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
gitlab_1 | Missing Rails.application.secrets.openid_connect_signing_key for production environment. The secret will be generated and stored in config/s ecrets.yml.
gitlab_1 | rake aborted!
gitlab_1 | StandardError: An error has occurred, all later migrations canceled:
gitlab_1 |
gitlab_1 | PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "pg_constraint_conrelid_contypid_conname_index"
gitlab_1 | DETAIL: Key (conrelid, contypid, conname)=(1927909, 0, fk_rails_bb3355782d) already exists.
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 92:in exec'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 92:in block (2 levels) in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies/interlock.rb:48:in block in permit_con current_loads'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/share_lock.rb:187:in yield_shares'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_l oads'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 91:in block in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 levels) in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in b lock (2 levels) in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in b lock in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in s ynchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:721:in block in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/notifications/instrumenter.rb:24:in instrument'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:712:in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 90:in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/marginalia-1.10.0/lib/marginalia.rb:71:in execute_with_marginalia'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:998: in add_foreign_key'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:890:in block in method_missing'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:858:in block in say_with_time'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:858:in say_with_time'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:879:in method_missing'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb:66:in block in add_concurrent_partitioned_foreig n_key'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:121:in run_block'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:130:in block in run_block_with_lock_timeout'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/database_statements.rb:28 0:in block in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/transaction.rb:280:in bl ock in within_new_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in b lock (2 levels) in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in b lock in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in s ynchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/transaction.rb:278:in wi thin_new_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/database_statements.rb:28 0:in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/transactions.rb:212:in transaction'
gitlab_1 | /home/git/gitlab/lib/gitlab/database.rb:371:in block in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/notifications.rb:182:in instrument'
gitlab_1 | /home/git/gitlab/lib/gitlab/database.rb:370:in transaction'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:125:in run_block_with_lock_timeout'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:95:in run'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/migration_helpers.rb:397:in with_lock_retries'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb:65:in add_concurrent_partitioned_foreign_key'
gitlab_1 | /home/git/gitlab/db/post_migrate/20210413130011_add_partitioned_web_hook_log_fk.rb:11:in up'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:831:in exec_migration'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:812:in block (2 levels) in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:811:in block in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in with_connection'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:810:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1002:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1310:in block in execute_migration_in_tr ansaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1363:in ddl_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1309:in execute_migration_in_transaction '
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1281:in block in migrate_without_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1280:in each'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1280:in migrate_without_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1229:in block in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1382:in with_advisory_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1229:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1061:in up'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1036:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/tasks/database_tasks.rb:238:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:86:in block (3 levels) in <to p (required)>'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:84:in each'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:84:in block (2 levels) in <to p (required)>'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in <top (required)>'
gitlab_1 |
gitlab_1 | Caused by:
gitlab_1 | ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "pg_constraint_conrelid_contypid_ conname_index"
gitlab_1 | DETAIL: Key (conrelid, contypid, conname)=(1927909, 0, fk_rails_bb3355782d) already exists.
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 92:in exec'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 92:in block (2 levels) in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies/interlock.rb:48:in block in permit_con current_loads'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/share_lock.rb:187:in yield_shares'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_l oads'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 91:in block in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 levels) in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in b lock (2 levels) in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in b lock in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in s ynchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:721:in block in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/notifications/instrumenter.rb:24:in instrument'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:712:in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 90:in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/marginalia-1.10.0/lib/marginalia.rb:71:in execute_with_marginalia'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:998: in add_foreign_key'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:890:in block in method_missing'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:858:in block in say_with_time'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:858:in say_with_time'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:879:in method_missing'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb:66:in block in add_concurrent_partitioned_foreig n_key'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:121:in run_block'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:130:in block in run_block_with_lock_timeout'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/database_statements.rb:28 0:in block in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/transaction.rb:280:in bl ock in within_new_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in b lock (2 levels) in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in b lock in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in s ynchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/transaction.rb:278:in wi thin_new_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/database_statements.rb:28 0:in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/transactions.rb:212:in transaction'
gitlab_1 | /home/git/gitlab/lib/gitlab/database.rb:371:in block in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/notifications.rb:182:in instrument'
gitlab_1 | /home/git/gitlab/lib/gitlab/database.rb:370:in transaction'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:125:in run_block_with_lock_timeout'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:95:in run'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/migration_helpers.rb:397:in with_lock_retries'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb:65:in add_concurrent_partitioned_foreign_key'
gitlab_1 | /home/git/gitlab/db/post_migrate/20210413130011_add_partitioned_web_hook_log_fk.rb:11:in up'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:831:in exec_migration'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:812:in block (2 levels) in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:811:in block in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in with_connection'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:810:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1002:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1310:in block in execute_migration_in_tr ansaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1363:in ddl_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1309:in execute_migration_in_transaction '
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1281:in block in migrate_without_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1280:in each'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1280:in migrate_without_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1229:in block in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1382:in with_advisory_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1229:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1061:in up'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1036:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/tasks/database_tasks.rb:238:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:86:in block (3 levels) in <to p (required)>'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:84:in each'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:84:in block (2 levels) in <to p (required)>'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in <top (required)>'
gitlab_1 |
gitlab_1 | Caused by:
gitlab_1 | PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "pg_constraint_conrelid_contypid_conname_index"
gitlab_1 | DETAIL: Key (conrelid, contypid, conname)=(1927909, 0, fk_rails_bb3355782d) already exists.
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 92:in exec'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 92:in block (2 levels) in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies/interlock.rb:48:in block in permit_con current_loads'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/share_lock.rb:187:in yield_shares'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_l oads'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 91:in block in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 levels) in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in b lock (2 levels) in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in b lock in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in s ynchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:721:in block in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/notifications/instrumenter.rb:24:in instrument'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract_adapter.rb:712:in log'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/postgresql/database_statements.rb: 90:in execute'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/marginalia-1.10.0/lib/marginalia.rb:71:in execute_with_marginalia'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:998: in add_foreign_key'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:890:in block in method_missing'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:858:in block in say_with_time'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:858:in say_with_time'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:879:in method_missing'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb:66:in block in add_concurrent_partitioned_foreig n_key'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:121:in run_block'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:130:in block in run_block_with_lock_timeout'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/database_statements.rb:28 0:in block in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/transaction.rb:280:in bl ock in within_new_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in b lock (2 levels) in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in b lock in synchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in h andle_interrupt'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in s ynchronize'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/transaction.rb:278:in wi thin_new_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/database_statements.rb:28 0:in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/transactions.rb:212:in transaction'
gitlab_1 | /home/git/gitlab/lib/gitlab/database.rb:371:in block in transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/notifications.rb:182:in instrument'
gitlab_1 | /home/git/gitlab/lib/gitlab/database.rb:370:in transaction'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:125:in run_block_with_lock_timeout'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/with_lock_retries.rb:95:in run'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/migration_helpers.rb:397:in with_lock_retries'
gitlab_1 | /home/git/gitlab/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb:65:in add_concurrent_partitioned_foreign_key'
gitlab_1 | /home/git/gitlab/db/post_migrate/20210413130011_add_partitioned_web_hook_log_fk.rb:11:in up'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:831:in exec_migration'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:812:in block (2 levels) in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:811:in block in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in with_connection'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:810:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1002:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1310:in block in execute_migration_in_tr ansaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1363:in ddl_transaction'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1309:in execute_migration_in_transaction '
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1281:in block in migrate_without_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1280:in each'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1280:in migrate_without_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1229:in block in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1382:in with_advisory_lock'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1229:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1061:in up'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/migration.rb:1036:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/tasks/database_tasks.rb:238:in migrate'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:86:in block (3 levels) in <to p (required)>'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:84:in each'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.6/lib/active_record/railties/databases.rake:84:in block (2 levels) in <to p (required)>'
gitlab_1 | /home/git/gitlab/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
gitlab_1 | Tasks: TOP => db:migrate
gitlab_1 | (See full trace by running task with --trace)
pegasus_gitlab_1 exited with code 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with db/post_migrate/20210413130011_add_partitioned_web_hook_log_fk.rb and the called helpers in lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb. Reproduce the 13.10.2-to-13.12.1 migration failure and trace the duplicate constraint reported in the log. Done means the migration completes without the duplicate-key error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, postgresql, ruby
- Domain
- databases, devops
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100