Update 18.5.2 to 18.6 : PG::UndefinedTable: ERROR: relation "index_merge_requests_on_assignee_id" does not exist
Im getting this error on DB migration during the update.
Running handlers complete
[2025-11-21T09:29:39+01:00] ERROR: Exception handlers complete
Infra Phase failed. 1 resources updated in 23 seconds
[2025-11-21T09:29:39+01:00] FATAL: Stacktrace dumped to /opt/gitlab/embedded/cookbooks/cache/cinc-stacktrace.out
[2025-11-21T09:29:39+01:00] FATAL: ---------------------------------------------------------------------------------------
[2025-11-21T09:29:39+01:00] FATAL: PLEASE PROVIDE THE CONTENTS OF THE stacktrace.out FILE (above) IF YOU FILE A BUG REPORT
[2025-11-21T09:29:39+01:00] FATAL: ---------------------------------------------------------------------------------------
[2025-11-21T09:29:39+01:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: rails_migration[gitlab-rails] (gitlab::database_migrations line 51) had an error: Mixlib::ShellOut::ShellCommandFailed: bash_hide_env[migrate gitlab-rails database] (gitlab::database_migrations line 20) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of "bash" ----
STDOUT: Skipping Topology Service health check due to the cell being disabled
Running db:migrate rake task
main: == [advisory_lock_connection] object_id: 69940, pg_backend_pid: 543307
main: == 20251016010314 SwapColumnsForMergeRequestsBigintConversionStageOne: migrating
main: -- column_exists?("merge_requests", "assignee_id_convert_to_bigint")
main: -> 0.0157s
main: -- column_exists?("merge_requests", "merge_user_id_convert_to_bigint")
main: -> 0.0022s
main: -- column_exists?("merge_requests", "updated_by_id_convert_to_bigint")
main: -> 0.0020s
main: -- column_exists?("merge_requests", "milestone_id_convert_to_bigint")
main: -> 0.0019s
main: -- column_exists?("merge_requests", "source_project_id_convert_to_bigint")
main: -> 0.0019s
main: -- columns("merge_requests")
main: -> 0.0018s
main: -- columns("merge_requests")
main: -> 0.0019s
main: -- columns("merge_requests")
main: -> 0.0019s
main: -- columns("merge_requests")
main: -> 0.0019s
main: -- columns("merge_requests")
main: -> 0.0019s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("assignee_id")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"assignee_id\" TO \"temp_name_for_renaming\"\n")
main: -> 0.0004s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("assignee_id_convert_to_bigint")
main: -> 0.0000s
main: -- quote_column_name("assignee_id")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"assignee_id_convert_to_bigint\" TO \"assignee_id\"\n")
main: -> 0.0003s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- quote_column_name("assignee_id_convert_to_bigint")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"temp_name_for_renaming\" TO \"assignee_id_convert_to_bigint\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("merge_user_id")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"merge_user_id\" TO \"temp_name_for_renaming\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("merge_user_id_convert_to_bigint")
main: -> 0.0000s
main: -- quote_column_name("merge_user_id")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"merge_user_id_convert_to_bigint\" TO \"merge_user_id\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- quote_column_name("merge_user_id_convert_to_bigint")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"temp_name_for_renaming\" TO \"merge_user_id_convert_to_bigint\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("updated_by_id")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"updated_by_id\" TO \"temp_name_for_renaming\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("updated_by_id_convert_to_bigint")
main: -> 0.0000s
main: -- quote_column_name("updated_by_id")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"updated_by_id_convert_to_bigint\" TO \"updated_by_id\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- quote_column_name("updated_by_id_convert_to_bigint")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"temp_name_for_renaming\" TO \"updated_by_id_convert_to_bigint\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("milestone_id")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"milestone_id\" TO \"temp_name_for_renaming\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("milestone_id_convert_to_bigint")
main: -> 0.0000s
main: -- quote_column_name("milestone_id")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"milestone_id_convert_to_bigint\" TO \"milestone_id\"\n")
main: -> 0.0004s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- quote_column_name("milestone_id_convert_to_bigint")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"temp_name_for_renaming\" TO \"milestone_id_convert_to_bigint\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("source_project_id")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"source_project_id\" TO \"temp_name_for_renaming\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name("source_project_id_convert_to_bigint")
main: -> 0.0000s
main: -- quote_column_name("source_project_id")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"source_project_id_convert_to_bigint\" TO \"source_project_id\"\n")
main: -> 0.0002s
main: -- clear_cache!(nil)
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- quote_column_name(:temp_name_for_renaming)
main: -> 0.0000s
main: -- quote_column_name("source_project_id_convert_to_bigint")
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_requests\"\n RENAME COLUMN \"temp_name_for_renaming\" TO \"source_project_id_convert_to_bigint\"\n")
main: -> 0.0002s
main: -- current_schema(nil)
main: -> 0.0002s
main: -- quote_table_name("public")
main: -> 0.0000s
main: -- quote_table_name("merge_requests")
main: -> 0.0000s
main: -- select_all("SELECT DISTINCT\n p.proname AS function_name\nFROM pg_trigger tr\nJOIN pg_proc p ON tr.tgfoid = p.oid\nWHERE tr.tgisinternal IS FALSE\n AND tr.tgrelid = '\"public\".\"merge_requests\"'::regclass\n")
main: -> 0.0008s
main: -- quote_table_name("insert_into_loose_foreign_keys_deleted_records")
main: -> 0.0000s
main: -- execute("ALTER FUNCTION \"insert_into_loose_foreign_keys_deleted_records\" RESET ALL")
main: -> 0.0002s
main: -- quote_table_name("trigger_ecc2780007c2")
main: -> 0.0000s
main: -- execute("ALTER FUNCTION \"trigger_ecc2780007c2\" RESET ALL")
main: -> 0.0002s
main: -- quote_table_name("index_merge_requests_on_assignee_id")
main: -> 0.0000s
main: -- quote_table_name("temp_020042c695")
main: -> 0.0000s
main: -- execute("ALTER INDEX \"index_merge_requests_on_assignee_id\" RENAME TO \"temp_020042c695\"")
main: == [advisory_lock_connection] object_id: 69940, pg_backend_pid: 543307
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
PG::UndefinedTable: ERROR: relation "index_merge_requests_on_assignee_id" does not exist
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/v2.rb:221:in `rename_index_with_schema'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/swapping.rb:42:in `swap_indexes'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:62:in `block (2 levels) in swap'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:60:in `each'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:60:in `block in swap'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:123:in `run_block'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:134:in `block in run_block_with_lock_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:129:in `run_block_with_lock_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:97:in `run'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retries_helpers.rb:52:in `with_lock_retries'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/v2.rb:101:in `with_lock_retries'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:53:in `swap'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:36:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb:33:in `block in exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/query_analyzer.rb:83:in `within'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb:30:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables.rb:21:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/require_disable_ddl_transaction_for_multiple_locks.rb:40:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retry_mixin.rb:46:in `ddl_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/runner_backoff/active_record_mixin.rb:21:in `execute_migration_in_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:14:in `with_advisory_lock'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:191:in `configure_database'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:158:in `configure_pg_databases'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:102:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "index_merge_requests_on_assignee_id" does not exist
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/v2.rb:221:in `rename_index_with_schema'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/swapping.rb:42:in `swap_indexes'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:62:in `block (2 levels) in swap'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:60:in `each'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:60:in `block in swap'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:123:in `run_block'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:134:in `block in run_block_with_lock_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:129:in `run_block_with_lock_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:97:in `run'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retries_helpers.rb:52:in `with_lock_retries'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/v2.rb:101:in `with_lock_retries'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:53:in `swap'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:36:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb:33:in `block in exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/query_analyzer.rb:83:in `within'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb:30:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables.rb:21:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/require_disable_ddl_transaction_for_multiple_locks.rb:40:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retry_mixin.rb:46:in `ddl_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/runner_backoff/active_record_mixin.rb:21:in `execute_migration_in_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:14:in `with_advisory_lock'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:191:in `configure_database'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:158:in `configure_pg_databases'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:102:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
PG::UndefinedTable: ERROR: relation "index_merge_requests_on_assignee_id" does not exist
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/v2.rb:221:in `rename_index_with_schema'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/swapping.rb:42:in `swap_indexes'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:62:in `block (2 levels) in swap'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:60:in `each'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:60:in `block in swap'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:123:in `run_block'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:134:in `block in run_block_with_lock_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:129:in `run_block_with_lock_timeout'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/with_lock_retries.rb:97:in `run'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retries_helpers.rb:52:in `with_lock_retries'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/v2.rb:101:in `with_lock_retries'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:53:in `swap'
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20251016010314_swap_columns_for_merge_requests_bigint_conversion_stage_one.rb:36:in `up'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb:33:in `block in exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/query_analyzer.rb:83:in `within'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb:30:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables.rb:21:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/require_disable_ddl_transaction_for_multiple_locks.rb:40:in `exec_migration'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/lock_retry_mixin.rb:46:in `ddl_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/runner_backoff/active_record_mixin.rb:21:in `execute_migration_in_transaction'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:14:in `with_advisory_lock'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:191:in `configure_database'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:158:in `configure_pg_databases'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:102:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
STDERR:
---- End output of "bash" ----
Ran "bash" returned 1
===
There was an error running gitlab-ctl reconfigure. Please check the output above for more
details.
===
Edited by 🤖 GitLab Bot 🤖