Skip to content

GitLab 15.11.9 > 16.1.1 Migration Error

Summary

I successfully upgraded from 15.11.5 to 15.11.9. After ensuring that there were no background migrations in progress, I attempted to upgrade to 16.1.1. But when I did that, one of the database migrations failed with "multiple primary keys for table 'merge_request_metrics' are not allowed".

Steps to reproduce

I successfully upgraded from 15.11.5 to 15.11.9. After ensuring that there were no background migrations in progress, I attempted to upgrade to 16.1.1. But when I did that, one of the database migrations failed with "multiple primary keys for table 'merge_request_metrics' are not allowed".

I checked the table and it only had one PRIMARY KEY:

gitlabhq_production=# \d merge_request_metrics
                                                 Table "public.merge_request_metrics"
             Column              |           Type           | Collation | Nullable |                      Default                      
---------------------------------+--------------------------+-----------+----------+---------------------------------------------------
 id                              | bigint                   |           | not null | nextval('merge_request_metrics_id_seq'::regclass)
 merge_request_id                | bigint                   |           | not null | 
 latest_build_started_at         | timestamp with time zone |           |          | 
 latest_build_finished_at        | timestamp with time zone |           |          | 
 first_deployed_to_production_at | timestamp with time zone |           |          | 
 merged_at                       | timestamp with time zone |           |          | 
 created_at                      | timestamp with time zone |           | not null | 
 updated_at                      | timestamp with time zone |           | not null | 
 pipeline_id                     | bigint                   |           |          | 
 merged_by_id                    | integer                  |           |          | 
 latest_closed_by_id             | integer                  |           |          | 
 latest_closed_at                | timestamp with time zone |           |          | 
 first_comment_at                | timestamp with time zone |           |          | 
 first_commit_at                 | timestamp with time zone |           |          | 
 last_commit_at                  | timestamp with time zone |           |          | 
 diff_size                       | integer                  |           |          | 
 modified_paths_size             | integer                  |           |          | 
 commits_count                   | integer                  |           |          | 
 first_approved_at               | timestamp with time zone |           |          | 
 first_reassigned_at             | timestamp with time zone |           |          | 
 added_lines                     | integer                  |           |          | 
 removed_lines                   | integer                  |           |          | 
 target_project_id               | integer                  |           |          | 
 id_convert_to_bigint            | bigint                   |           | not null | 0
 first_contribution              | boolean                  |           | not null | false
Indexes:
    "idx_169113_primary" PRIMARY KEY, btree (id)
    "idx_169113_index_merge_request_metrics" btree (merge_request_id)
    "idx_169113_index_merge_request_metrics_on_first_deployed_to_pro" btree (first_deployed_to_production_at)
    "idx_169113_index_merge_request_metrics_on_pipeline_id" btree (pipeline_id)
    "index_merge_request_metrics_on_id_convert_to_bigint" UNIQUE, btree (id_convert_to_bigint)
    "index_merge_request_metrics_on_latest_closed_at" btree (latest_closed_at) WHERE latest_closed_at IS NOT NULL
    "index_merge_request_metrics_on_latest_closed_by_id" btree (latest_closed_by_id)
    "index_merge_request_metrics_on_merge_request_id_and_merged_at" btree (merge_request_id, merged_at) WHERE merged_at IS NOT NULL
    "index_merge_request_metrics_on_merged_at" btree (merged_at)
    "index_merge_request_metrics_on_merged_by_id" btree (merged_by_id)
    "index_merge_request_metrics_on_target_project_id" btree (target_project_id)
    "index_mr_metrics_on_target_project_id_merged_at_nulls_last" btree (target_project_id, merged_at DESC NULLS LAST, id DESC)
    "index_mr_metrics_on_target_project_id_merged_at_time_to_merge" btree (target_project_id, merged_at, created_at) WHERE merged_at > created_at
    "tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last" btree (target_project_id, merged_at DESC NULLS LAST, id_convert_to_bigint DESC)
    "unique_merge_request_metrics_by_merge_request_id" UNIQUE, btree (merge_request_id)
Check constraints:
    "check_e03d0900bf" CHECK (target_project_id IS NOT NULL)
Foreign-key constraints:
    "fk_56067dcb44" FOREIGN KEY (target_project_id) REFERENCES projects(id) ON DELETE CASCADE
    "fk_7f28d925f3" FOREIGN KEY (merged_by_id) REFERENCES users(id) ON DELETE SET NULL
    "fk_ae440388cc" FOREIGN KEY (latest_closed_by_id) REFERENCES users(id) ON DELETE SET NULL
    "fk_rails_e6d7c24d1b" FOREIGN KEY (merge_request_id) REFERENCES merge_requests(id) ON UPDATE RESTRICT ON DELETE CASCADE
Triggers:
    nullify_merge_request_metrics_build_data_on_update BEFORE UPDATE ON merge_request_metrics FOR EACH ROW EXECUTE FUNCTION nullify_merge_request_metrics_build_data()
    trigger_c7107f30d69d BEFORE INSERT OR UPDATE ON merge_request_metrics FOR EACH ROW EXECUTE FUNCTION trigger_c7107f30d69d()

So, I ran `sudo gitlab-ctl reconfigure` and got a new error that "relation 'tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last' already exists".

What is the current bug behavior?

GitLab upgrade fails.

What is the expected correct behavior?

GitLab upgrade succeeds.

Relevant logs

Relevant logs 1

\\\\\\\[2023-07-03T22:46:06+00:00\\\\\\\] ERROR: Exception handlers complete Infra Phase failed. 31 resources updated in 51 seconds \\\\\\\[2023-07-03T22:46:06+00:00\\\\\\\] FATAL: Stacktrace dumped to /opt/gitlab/embedded/cookbooks/cache/cinc-stacktrace.out \\\\\\\[2023-07-03T22:46:06+00:00\\\\\\\] FATAL: --------------------------------------------------------------------------------------- \\\\\\\[2023-07-03T22:46:06+00:00\\\\\\\] FATAL: PLEASE PROVIDE THE CONTENTS OF THE stacktrace.out FILE (above) IF YOU FILE A BUG REPORT \\\\\\\[2023-07-03T22:46:06+00:00\\\\\\\] FATAL: --------------------------------------------------------------------------------------- \\\\\\\[2023-07-03T22:46:06+00: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: Running db:migrate rake task main: == \\\\\\\[advisory_lock_connection\\\\\\\] object_id: 169700, pg_backend_pid: 2161497 main: == 20221207135755 FinalizeAddNamespacesEmailsEnabledColumnData: migrating ===== main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: == 20221207135755 FinalizeAddNamespacesEmailsEnabledColumnData: migrated (0.3425s) main: == 20221207135831 FinalizeAddProjectsEmailsEnabledColumnData: migrating ======= main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: == 20221207135831 FinalizeAddProjectsEmailsEnabledColumnData: migrated (0.1903s) main: == 20221225010101 CreateWorkspacesTable: migrating ============================ main: -- create_table(:workspaces) main: -- quote_column_name(:name) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:namespace) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:desired_state) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:actual_state) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:editor) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:devfile_ref) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:devfile_path) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:devfile) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:processed_devfile) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:url) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:deployment_resource_version) main: -\\\\\\\> 0.0000s main: -\\\\\\\> 0.0709s main: == 20221225010101 CreateWorkspacesTable: migrated (0.0791s) =================== main: == 20221225010102 CreateWorkspacesUserForeignKey: migrating =================== main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE workspaces ADD CONSTRAINT fk_bdb0b31131 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE NOT VALID;") main: -\\\\\\\> 0.0124s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE workspaces VALIDATE CONSTRAINT fk_bdb0b31131;") main: -\\\\\\\> 0.0058s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0005s main: == 20221225010102 CreateWorkspacesUserForeignKey: migrated (0.0816s) ========== main: == 20221225010103 CreateWorkspacesProjectForeignKey: migrating ================ main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE workspaces ADD CONSTRAINT fk_dc7c316be1 FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;") main: -\\\\\\\> 0.0073s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE workspaces VALIDATE CONSTRAINT fk_dc7c316be1;") main: -\\\\\\\> 0.0067s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: == 20221225010103 CreateWorkspacesProjectForeignKey: migrated (0.0525s) ======= main: == 20221225010104 CreateWorkspacesClusterAgentForeignKey: migrating =========== main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE workspaces ADD CONSTRAINT fk_f78aeddc77 FOREIGN KEY (cluster_agent_id) REFERENCES cluster_agents (id) ON DELETE CASCADE NOT VALID;") main: -\\\\\\\> 0.0047s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- execute("ALTER TABLE workspaces VALIDATE CONSTRAINT fk_f78aeddc77;") main: -\\\\\\\> 0.0031s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0003s main: == 20221225010104 CreateWorkspacesClusterAgentForeignKey: migrated (0.0483s) == main: == 20221225010105 CreateRemoteDevelopmentAgentConfigsTable: migrating ========= main: -- create_table(:remote_development_agent_configs) main: -- quote_column_name(:dns_zone) main: -\\\\\\\> 0.0000s main: -\\\\\\\> 0.0067s main: == 20221225010105 CreateRemoteDevelopmentAgentConfigsTable: migrated (0.0141s) main: == 20221225010106 CreateRemoteDevelopmentAgentConfigAgentForeignKey: migrating main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE remote_development_agent_configs ADD CONSTRAINT fk_0a3c0ada56 FOREIGN KEY (cluster_agent_id) REFERENCES cluster_agents (id) ON DELETE CASCADE NOT VALID;") main: -\\\\\\\> 0.0024s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- execute("ALTER TABLE remote_development_agent_configs VALIDATE CONSTRAINT fk_0a3c0ada56;") main: -\\\\\\\> 0.0029s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: == 20221225010106 CreateRemoteDevelopmentAgentConfigAgentForeignKey: migrated (0.0406s) main: == 20230222131512 AddWikiAsciidocAllowUriIncludes: migrating ================== main: -- add_column(:application_settings, :wiki_asciidoc_allow_uri_includes, :boolean, {:default=\\\\\\\>false, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0086s main: == 20230222131512 AddWikiAsciidocAllowUriIncludes: migrated (0.0158s) ========= main: == 20230310020356 SwapMergeRequestUserMentionsNoteIdToBigint2: migrating ====== main: == 20230310020356 SwapMergeRequestUserMentionsNoteIdToBigint2: migrated (0.0086s) main: == 20230313092109 AddStartEndAndCurrentValuesToWiProgressess: migrating ======= main: -- add_column(:work_item_progresses, :start_value, :float, {:default=\\\\\\\>0, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0048s main: -- add_column(:work_item_progresses, :end_value, :float, {:default=\\\\\\\>100, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0013s main: -- add_column(:work_item_progresses, :current_value, :float, {:default=\\\\\\\>0, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0015s main: == 20230313092109 AddStartEndAndCurrentValuesToWiProgressess: migrated (0.0147s) main: == 20230314094210 DropIndexFromWebauthnRegistrationsOnU2fRegistrationId: migrating main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- remove_foreign_key(:webauthn_registrations, {:column=\\\\\\\>:u2f_registration_id}) main: -\\\\\\\> 0.0134s main: == 20230314094210 DropIndexFromWebauthnRegistrationsOnU2fRegistrationId: migrated (0.0707s) main: == 20230316073726 BackfillCurrentValueWithProgressWorkItemProgresses: migrating main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: == 20230316073726 BackfillCurrentValueWithProgressWorkItemProgresses: migrated (0.0215s) main: == 20230317004428 MigrateDailyRedisHllEventsToWeeklyAggregation: migrating ==== main: == 20230317004428 MigrateDailyRedisHllEventsToWeeklyAggregation: migrated (0.1083s) main: == 20230322164031 CreateDesignManagementRepositoryStates: migrating =========== main: -- create_table(:design_management_repository_states, {:id=\\\\\\\>false}) main: -- quote_column_name(:verification_failure) main: -\\\\\\\> 0.0000s main: -\\\\\\\> 0.0192s main: == 20230322164031 CreateDesignManagementRepositoryStates: migrated (0.0259s) == main: == 20230327103401 QueueMigrateHumanUserType: migrating ======================== main: == 20230327103401 QueueMigrateHumanUserType: migrated (0.0667s) =============== main: == 20230328030101 AddSecureflagTrainingProvider: migrating ==================== main: == 20230328030101 AddSecureflagTrainingProvider: migrated (0.0288s) =========== main: == 20230328150343 AddRetriedAtToStatusCheckResponses: migrating =============== main: -- add_column(:status_check_responses, :retried_at, :datetime_with_timezone) main: -\\\\\\\> 0.0020s main: == 20230328150343 AddRetriedAtToStatusCheckResponses: migrated (0.0093s) ====== main: == 20230328165313 AddDisabledFollowingToUserPreferences: migrating ============ main: -- add_column(:user_preferences, :enabled_following, :boolean, {:default=\\\\\\\>true, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0035s main: == 20230328165313 AddDisabledFollowingToUserPreferences: migrated (0.0107s) === main: == 20230329163232 AddIndexToSecurityScansOnPipelineIdAndScanType: migrating === main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0017s main: -- index_exists?(:security_scans, \\\\\\\[:pipeline_id, :scan_type\\\\\\\], {:name=\\\\\\\>"index_security_scans_on_pipeline_id_and_scan_type", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0072s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- add_index(:security_scans, \\\\\\\[:pipeline_id, :scan_type\\\\\\\], {:name=\\\\\\\>"index_security_scans_on_pipeline_id_and_scan_type", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0265s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0011s main: == 20230329163232 AddIndexToSecurityScansOnPipelineIdAndScanType: migrated (0.0850s) main: == 20230329235300 AddDiagramsnetToApplicationSettings: migrating ============== main: -- add_column(:application_settings, :diagramsnet_enabled, :boolean, {:default=\\\\\\\>true, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0041s main: -- add_column(:application_settings, :diagramsnet_url, :text, {:default=\\\\\\\>"https://embed.diagrams.net"}) main: -\\\\\\\> 0.0020s main: == 20230329235300 AddDiagramsnetToApplicationSettings: migrated (0.0131s) ===== main: == 20230403093349 EnsurePackagesNpmMetadataCachesIsEmpty: migrating =========== main: -- quote_table_name("packages_npm_metadata_caches") main: -\\\\\\\> 0.0000s main: -- execute("TRUNCATE TABLE "packages_npm_metadata_caches"") main: -\\\\\\\> 0.0165s main: == 20230403093349 EnsurePackagesNpmMetadataCachesIsEmpty: migrated (0.0235s) == main: == 20230404111427 AddFirstContributionToMergeRequestMetrics: migrating ======== main: -- add_column(:merge_request_metrics, :first_contribution, :boolean, {:default=\\\\\\\>false, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0050s main: == 20230404111427 AddFirstContributionToMergeRequestMetrics: migrated (0.0125s) main: == 20230404160131 AddStatusToDataRepairDetails: migrating ===================== main: -- column_exists?(:container_registry_data_repair_details, :status) main: -\\\\\\\> 0.0027s main: -- add_column(:container_registry_data_repair_details, :status, :integer, {:default=\\\\\\\>0, :null=\\\\\\\>false, :limit=\\\\\\\>2}) main: -\\\\\\\> 0.0050s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0011s main: -- index_exists?(:container_registry_data_repair_details, :status, {:name=\\\\\\\>"index_container_registry_data_repair_details_on_status", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0023s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- add_index(:container_registry_data_repair_details, :status, {:name=\\\\\\\>"index_container_registry_data_repair_details_on_status", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0151s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: == 20230404160131 AddStatusToDataRepairDetails: migrated (0.0470s) ============ main: == 20230405071033 AddObjectStorageKeyToPackagesNpmMetadataCaches: migrating === main: -- column_exists?(:packages_npm_metadata_caches, :object_storage_key) main: -\\\\\\\> 0.0038s main: -- add_column(:packages_npm_metadata_caches, :object_storage_key, :text, {:null=\\\\\\\>false}) main: -\\\\\\\> 0.0035s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0013s main: -- index_exists?(:packages_npm_metadata_caches, :object_storage_key, {:unique=\\\\\\\>true, :name=\\\\\\\>"index_packages_npm_metadata_caches_on_object_storage_key", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0053s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- add_index(:packages_npm_metadata_caches, :object_storage_key, {:unique=\\\\\\\>true, :name=\\\\\\\>"index_packages_npm_metadata_caches_on_object_storage_key", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0129s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: == 20230405071033 AddObjectStorageKeyToPackagesNpmMetadataCaches: migrated (0.0479s) main: == 20230406115900 AddDiagramsnetTextLimit: migrating ========================== main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE application_settings\\\\\\\\nADD CONSTRAINT check_0542340619\\\\\\\\nCHECK ( char_length(diagramsnet_url) \\\\\\\<= 2048 )\\\\\\\\nNOT VALID;\\\\\\\\n") main: -\\\\\\\> 0.0016s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- execute("ALTER TABLE application_settings VALIDATE CONSTRAINT check_0542340619;") main: -\\\\\\\> 0.0033s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: == 20230406115900 AddDiagramsnetTextLimit: migrated (0.0225s) ================= main: == 20230406121544 QueueBackfillDesignManagementRepositories: migrating ======== main: == 20230406121544 QueueBackfillDesignManagementRepositories: migrated (0.0493s) main: == 20230410123709 ValidateFkProjectsCreatorId: migrating ====================== main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE projects VALIDATE CONSTRAINT fk_03ec10b0d3;") main: -\\\\\\\> 0.0116s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0005s main: == 20230410123709 ValidateFkProjectsCreatorId: migrated (0.0323s) ============= main: == 20230411011959 AddTempIndexToNullDismissedInfoVulnerabilities: migrating === main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0013s main: -- index_exists?(:vulnerabilities, :id, {:where=\\\\\\\>"state = 2 AND (dismissed_at IS NULL OR dismissed_by_id IS NULL)", :name=\\\\\\\>"tmp_index_vulnerability_dismissal_info", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0179s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0002s main: -- add_index(:vulnerabilities, :id, {:where=\\\\\\\>"state = 2 AND (dismissed_at IS NULL OR dismissed_by_id IS NULL)", :name=\\\\\\\>"tmp_index_vulnerability_dismissal_info", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0179s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0005s main: == 20230411011959 AddTempIndexToNullDismissedInfoVulnerabilities: migrated (0.0577s) main: == 20230411205121 CreatePackageMetadataAdvisoryInfo: migrating ================ main: -- create_table(:pm_advisories) main: -- quote_column_name(:advisory_xid) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:title) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:description) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:cvss_v2) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:cvss_v3) main: -\\\\\\\> 0.0002s main: -\\\\\\\> 0.0126s main: -- create_table(:pm_affected_packages) main: -- quote_column_name(:package_name) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:distro_version) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:solution) main: -\\\\\\\> 0.0000s main: -- quote_column_name(:affected_range) main: -\\\\\\\> 0.0000s main: -\\\\\\\> 0.0094s main: == 20230411205121 CreatePackageMetadataAdvisoryInfo: migrated (0.0293s) ======= main: == 20230412104514 AddIndexToGroupGroupLinks: migrating ======================== main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0016s main: -- index_exists?(:group_group_links, \\\\\\\[:shared_with_group_id, :group_access\\\\\\\], {:name=\\\\\\\>"index_group_group_links_on_shared_with_group_and_group_access", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0039s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- add_index(:group_group_links, \\\\\\\[:shared_with_group_id, :group_access\\\\\\\], {:name=\\\\\\\>"index_group_group_links_on_shared_with_group_and_group_access", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0246s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0007s main: == 20230412104514 AddIndexToGroupGroupLinks: migrated (0.0501s) =============== main: == 20230412141541 RescheduleLinksAvoidingDuplication: migrating =============== main: == 20230412141541 RescheduleLinksAvoidingDuplication: migrated (0.0065s) ====== main: == 20230412185837 QueuePopulateVulnerabilityDismissalFields: migrating ======== main: == 20230412185837 QueuePopulateVulnerabilityDismissalFields: migrated (0.1869s) main: == 20230412185920 ValidateCiJobArtifactsFileFinalPath: migrating ============== main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE ci_job_artifacts VALIDATE CONSTRAINT check_9f04410cf4;") main: -\\\\\\\> 0.3705s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0006s main: == 20230412185920 ValidateCiJobArtifactsFileFinalPath: migrated (0.3843s) ===== main: == 20230414140202 AddIssuesIncidentTypeTempIndexAsyncDotCom: migrating ======== main: -- index_exists?(:issues, \\\\\\\[:issue_type, :id\\\\\\\], {:name=\\\\\\\>"tmp_index_issues_on_issue_type_and_id_only_incidents", :where=\\\\\\\>"issue_type = 1", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0330s main: -- add_index_options(:issues, \\\\\\\[:issue_type, :id\\\\\\\], {:name=\\\\\\\>"tmp_index_issues_on_issue_type_and_id_only_incidents", :where=\\\\\\\>"issue_type = 1", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0000s main: == 20230414140202 AddIssuesIncidentTypeTempIndexAsyncDotCom: migrated (0.0560s) main: == 20230414150202 AddIssuesIncidentTypeTempIndex: migrating =================== main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0013s main: -- index_exists?(:issues, \\\\\\\[:issue_type, :id\\\\\\\], {:name=\\\\\\\>"tmp_index_issues_on_issue_type_and_id_only_incidents", :where=\\\\\\\>"issue_type = 1", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0331s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- add_index(:issues, \\\\\\\[:issue_type, :id\\\\\\\], {:name=\\\\\\\>"tmp_index_issues_on_issue_type_and_id_only_incidents", :where=\\\\\\\>"issue_type = 1", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0382s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0006s main: == 20230414150202 AddIssuesIncidentTypeTempIndex: migrated (0.1029s) ========== main: == 20230414190012 AddProductAnalyticsToProjectSettings: migrating ============= main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- add_column(:project_settings, :jitsu_host, :text, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0070s main: -- add_column(:project_settings, :jitsu_project_xid, :text, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0043s main: -- add_column(:project_settings, :jitsu_administrator_email, :text, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0055s main: -- add_column(:project_settings, :encrypted_jitsu_administrator_password, :binary, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0049s main: -- add_column(:project_settings, :encrypted_jitsu_administrator_password_iv, :binary, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0047s main: -- add_column(:project_settings, :product_analytics_data_collector_host, :text, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0052s main: -- add_column(:project_settings, :encrypted_product_analytics_clickhouse_connection_string, :binary, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0045s main: -- add_column(:project_settings, :encrypted_product_analytics_clickhouse_connection_string_iv, :binary, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0045s main: -- add_column(:project_settings, :cube_api_base_url, :text, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0049s main: -- add_column(:project_settings, :encrypted_cube_api_key, :binary, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0052s main: -- add_column(:project_settings, :encrypted_cube_api_key_iv, :binary, {:if_not_exists=\\\\\\\>true}) main: -\\\\\\\> 0.0341s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE project_settings\\\\\\\\nADD CONSTRAINT check_f4499c0fa4\\\\\\\\nCHECK ( char_length(jitsu_host) \\\\\\\<= 255 )\\\\\\\\nNOT VALID;\\\\\\\\n") main: -\\\\\\\> 0.0054s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE project_settings VALIDATE CONSTRAINT check_f4499c0fa4;") main: -\\\\\\\> 0.0036s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0003s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE project_settings\\\\\\\\nADD CONSTRAINT check_ea15225016\\\\\\\\nCHECK ( char_length(jitsu_project_xid) \\\\\\\<= 255 )\\\\\\\\nNOT VALID;\\\\\\\\n") main: -\\\\\\\> 0.0010s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- execute("ALTER TABLE project_settings VALIDATE CONSTRAINT check_ea15225016;") main: -\\\\\\\> 0.0030s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0058s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE project_settings\\\\\\\\nADD CONSTRAINT check_f5495015f5\\\\\\\\nCHECK ( char_length(jitsu_administrator_email) \\\\\\\<= 255 )\\\\\\\\nNOT VALID;\\\\\\\\n") main: -\\\\\\\> 0.0009s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE project_settings VALIDATE CONSTRAINT check_f5495015f5;") main: -\\\\\\\> 0.0080s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE project_settings\\\\\\\\nADD CONSTRAINT check_4b142e71f3\\\\\\\\nCHECK ( char_length(product_analytics_data_collector_host) \\\\\\\<= 255 )\\\\\\\\nNOT VALID;\\\\\\\\n") main: -\\\\\\\> 0.0008s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE project_settings VALIDATE CONSTRAINT check_4b142e71f3;") main: -\\\\\\\> 0.0086s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0003s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("ALTER TABLE project_settings\\\\\\\\nADD CONSTRAINT check_f9df7bcee2\\\\\\\\nCHECK ( char_length(cube_api_base_url) \\\\\\\<= 512 )\\\\\\\\nNOT VALID;\\\\\\\\n") main: -\\\\\\\> 0.0024s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- execute("ALTER TABLE project_settings VALIDATE CONSTRAINT check_f9df7bcee2;") main: -\\\\\\\> 0.0036s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0045s main: == 20230414190012 AddProductAnalyticsToProjectSettings: migrated (0.3421s) ==== main: == 20230414200202 RescheduleIncidentWorkItemTypeIdBackfill: migrating ========= main: == 20230414200202 RescheduleIncidentWorkItemTypeIdBackfill: migrated (0.3327s) main: == 20230414230535 AddExternalIdentifiersIndexToImportFailures: migrating ====== main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0014s main: -- index_exists?(:import_failures, :external_identifiers, {:name=\\\\\\\>"index_import_failures_on_external_identifiers", :where=\\\\\\\>"external_identifiers != '{}'", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0061s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- add_index(:import_failures, :external_identifiers, {:name=\\\\\\\>"index_import_failures_on_external_identifiers", :where=\\\\\\\>"external_identifiers != '{}'", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0199s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: == 20230414230535 AddExternalIdentifiersIndexToImportFailures: migrated (0.0476s) main: == 20230417145900 AddVisibilityPipelineIdTypeToUserPreferences: migrating ===== main: -- add_column(:user_preferences, :visibility_pipeline_id_type, :integer, {:default=\\\\\\\>0, :limit=\\\\\\\>2, :null=\\\\\\\>false}) main: -\\\\\\\> 0.0027s main: == 20230417145900 AddVisibilityPipelineIdTypeToUserPreferences: migrated (0.0098s) main: == 20230418183540 CreateProjectStates: migrating ============================== main: -- create_table(:project_states) main: -- quote_column_name(:verification_failure) main: -\\\\\\\> 0.0000s main: -\\\\\\\> 0.0141s main: == 20230418183540 CreateProjectStates: migrated (0.0205s) ===================== main: == 20230418215853 AddAssigneeWidgetToIncidents: migrating ===================== main: == 20230418215853 AddAssigneeWidgetToIncidents: migrated (0.0678s) ============ main: == 20230419010332 EnsureTodosBigintBackfillIsFinishedForGitlabDotCom: migrating main: == 20230419010332 EnsureTodosBigintBackfillIsFinishedForGitlabDotCom: migrated (0.0071s) main: == 20230419010551 AddIndexTodosNoteIdConvertToBigintForGitlabCom: migrating === main: == 20230419010551 AddIndexTodosNoteIdConvertToBigintForGitlabCom: migrated (0.0062s) main: == 20230419012426 AddFkOnTodosNoteIdConvertToBigintForGitlabCom: migrating ==== main: == 20230419012426 AddFkOnTodosNoteIdConvertToBigintForGitlabCom: migrated (0.0071s) main: == 20230419012621 AsyncValidateFkTodosNoteIdConvertToBigintForGitlabCom: migrating main: == 20230419012621 AsyncValidateFkTodosNoteIdConvertToBigintForGitlabCom: migrated (0.0068s) main: == 20230419094535 EnsureMergeRequestMetricsIdBigintBackfillIsFinishedForSelfHosts: migrating main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: == 20230419094535 EnsureMergeRequestMetricsIdBigintBackfillIsFinishedForSelfHosts: migrated (0.0310s) main: == 20230419094939 SwapMergeRequestMetricsIdToBigintForSelfHosts: migrating ==== main: -- columns("merge_request_metrics") main: -\\\\\\\> 0.0038s main: -- columns("merge_request_metrics") main: -\\\\\\\> 0.0029s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0014s main: -- index_exists?("merge_request_metrics", :id_convert_to_bigint, {:unique=\\\\\\\>true, :name=\\\\\\\>"index_merge_request_metrics_on_id_convert_to_bigint", :algorithm=\\\\\\\>:concurrently})rake aborted! StandardError: An error has occurred, all later migrations canceled: PG::InvalidTableDefinition: ERROR: multiple primary keys for table "merge_request_metrics" are not allowed /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:57: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:99:in \\\`with_lock_retries' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:37:in\\\` swap' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:18: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:37: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:19:in \\\`exec_migration' /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/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:15:in\\\` block in with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:12:in \\\`with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:123:in\\\` configure_database' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:101:in \\\`block (3 levels) in ' /opt/gitlab/embedded/bin/bundle:25:in\\\` load' /opt/gitlab/embedded/bin/bundle:25:in \\\\\\\`' Caused by: ActiveRecord::StatementInvalid: PG::InvalidTableDefinition: ERROR: multiple primary keys for table "merge_request_metrics" are not allowed /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:57: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:99:in \\\`with_lock_retries' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:37:in\\\` swap' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:18: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:37: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:19:in \\\`exec_migration' /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/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:15:in\\\` block in with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:12:in \\\`with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:123:in\\\` configure_database' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:101:in \\\`block (3 levels) in ' /opt/gitlab/embedded/bin/bundle:25:in\\\` load' /opt/gitlab/embedded/bin/bundle:25:in \\\\\\\`' Caused by: PG::InvalidTableDefinition: ERROR: multiple primary keys for table "merge_request_metrics" are not allowed /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:57: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:99:in \\\`with_lock_retries' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:37:in\\\` swap' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:18: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:37: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:19:in \\\`exec_migration' /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/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:15:in\\\` block in with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:12:in \\\`with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:123:in\\\` configure_database' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:101:in \\\`block (3 levels) in ' /opt/gitlab/embedded/bin/bundle:25:in\\\` load' /opt/gitlab/embedded/bin/bundle:25:in \\\\\\\`' Tasks: TOP =\\\\\\\> db:migrate (See full trace by running task with --trace) main: -\\\\\\\> 0.0152s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0003s main: -- add_index("merge_request_metrics", :id_convert_to_bigint, {:unique=\\\\\\\>true, :name=\\\\\\\>"index_merge_request_metrics_on_id_convert_to_bigint", :algorithm=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0604s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\\\\\> 0.0011s main: -- index_exists?("merge_request_metrics", "target_project_id, merged_at DESC NULLS LAST, id_convert_to_bigint DESC", {:name=\\\\\\\>"tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last", :algorith m=\\\\\\\>:concurrently}) main: -\\\\\\\> 0.0133s main: -- execute("SET statement_timeout TO 0") main: -\\\\\\\> 0.0004s main: -- add_index("merge_request_metrics", "target_project_id, merged_at DESC NULLS LAST, id_convert_to_bigint DESC", {:name=\\\\\\\>"tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last", :algorithm=\\\\\\\>: concurrently}) main: -\\\\\\\> 0.0612s main: -- execute("RESET statement_timeout") main: -\\\\\\\> 0.0004s main: -- transaction_open?() main: -\\\\\\\> 0.0000s main: -- execute("LOCK TABLE merge_request_metrics IN ACCESS EXCLUSIVE MODE") main: -\\\\\\\> 0.0008s main: -- execute("ALTER TABLE merge_request_metrics RENAME COLUMN id TO id_tmp") main: -\\\\\\\> 0.0006s main: -- execute("ALTER TABLE merge_request_metrics RENAME COLUMN id_convert_to_bigint TO id") main: -\\\\\\\> 0.0005s main: -- execute("ALTER TABLE merge_request_metrics RENAME COLUMN id_tmp TO id_convert_to_bigint") main: -\\\\\\\> 0.0005s main: -- quote_table_name("trigger_c7107f30d69d") main: -\\\\\\\> 0.0000s main: -- execute("ALTER FUNCTION "trigger_c7107f30d69d" RESET ALL") main: -\\\\\\\> 0.0006s main: -- execute("ALTER SEQUENCE merge_request_metrics_id_seq OWNED BY merge_request_metrics.id") main: -\\\\\\\> 0.0006s main: -- change_column_default("merge_request_metrics", :id, #\\\\) main: -\\\\\\\> 0.0059s main: -- change_column_default("merge_request_metrics", :id_convert_to_bigint, 0) main: -\\\\\\\> 0.0048s main: -- execute("ALTER TABLE merge_request_metrics DROP CONSTRAINT IF EXISTS merge_request_metrics_pkey") main: -\\\\\\\> 0.0004s main: -- rename_index("merge_request_metrics", "index_merge_request_metrics_on_id_convert_to_bigint", "merge_request_metrics_pkey") main: -\\\\\\\> 0.0005s main: -- execute("ALTER TABLE merge_request_metrics ADD CONSTRAINT merge_request_metrics_pkey PRIMARY KEY USING INDEX merge_request_metrics_pkey")
Relevant logs 2

\\\[2023-07-03T22:59:22+00:00\\\] ERROR: Exception handlers complete Infra Phase failed. 0 resources updated in 28 seconds \\\[2023-07-03T22:59:22+00:00\\\] FATAL: Stacktrace dumped to /opt/gitlab/embedded/cookbooks/cache/cinc-stacktrace.out \\\[2023-07-03T22:59:22+00:00\\\] FATAL: --------------------------------------------------------------------------------------- \\\[2023-07-03T22:59:22+00:00\\\] FATAL: PLEASE PROVIDE THE CONTENTS OF THE stacktrace.out FILE (above) IF YOU FILE A BUG REPORT \\\[2023-07-03T22:59:22+00:00\\\] FATAL: --------------------------------------------------------------------------------------- \\\[2023-07-03T22:59:22+00: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: rake aborted! StandardError: An error has occurred, all later migrations canceled: PG::DuplicateTable: ERROR: relation "tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last" already exists /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:121:in \\\`block in add_concurrent_index' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/timeout_helpers.rb:31:in \\\`disable_statement_timeout' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:120:in \\\`add_concurrent_index' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:34:in \\\`swap' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:18: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:37: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:19:in \\\`exec_migration' /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/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:15:in \\\`block in with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:12:in \\\`with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:123:in \\\`configure_database' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:101:in \\\`block (3 levels) in ' /opt/gitlab/embedded/bin/bundle:25:in \\\`load' /opt/gitlab/embedded/bin/bundle:25:in \\\`' Caused by: ActiveRecord::StatementInvalid: PG::DuplicateTable: ERROR: relation "tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last" already exists /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:121:in \\\`block in add_concurrent_index' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/timeout_helpers.rb:31:in \\\`disable_statement_timeout' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:120:in \\\`add_concurrent_index' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:34:in \\\`swap' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:18: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:37: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:19:in \\\`exec_migration' /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/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:15:in \\\`block in with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:12:in \\\`with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:123:in \\\`configure_database' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:101:in \\\`block (3 levels) in ' /opt/gitlab/embedded/bin/bundle:25:in \\\`load' /opt/gitlab/embedded/bin/bundle:25:in \\\`' Caused by: PG::DuplicateTable: ERROR: relation "tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last" already exists /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:121:in \\\`block in add_concurrent_index' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/timeout_helpers.rb:31:in \\\`disable_statement_timeout' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers.rb:120:in \\\`add_concurrent_index' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:34:in \\\`swap' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20230419094939_swap_merge_request_metrics_id_to_bigint_for_self_hosts.rb:18: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:37: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:19:in \\\`exec_migration' /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/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:15:in \\\`block in with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/pg_backend_pid.rb:12:in \\\`with_advisory_lock_connection' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:123:in \\\`configure_database' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:101:in \\\`block (3 levels) in ' /opt/gitlab/embedded/bin/bundle:25:in \\\`load' /opt/gitlab/embedded/bin/bundle:25:in \\\`' Tasks: TOP =\\\> db:migrate (See full trace by running task with --trace) Running db:migrate rake task main: == \\\[advisory_lock_connection\\\] object_id: 169700, pg_backend_pid: 2162255 main: == 20230419094939 SwapMergeRequestMetricsIdToBigintForSelfHosts: migrating ==== main: -- columns("merge_request_metrics") main: -\\\> 0.1661s main: -- columns("merge_request_metrics") main: -\\\> 0.0172s main: -- transaction_open?() main: -\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\> 0.0052s main: -- index_exists?("merge_request_metrics", :id_convert_to_bigint, {:unique=\\\>true, :name=\\\>"index_merge_request_metrics_on_id_convert_to_bigint", :algorithm=\\\>:concurrently}) main: -\\\> 0.0521s main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: merge_request_metrics, column_name: id_convert_to_bigint main: -- transaction_open?() main: -\\\> 0.0000s main: -- view_exists?(:postgres_partitions) main: -\\\> 0.0057s main: -- index_exists?("merge_request_metrics", "target_project_id, merged_at DESC NULLS LAST, id_convert_to_bigint DESC", {:name=\\\>"tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last", :algorithm=\\\>:concurrently}) main: -\\\> 0.0464s main: -- execute("SET statement_timeout TO 0") main: -\\\> 0.0003s main: -- add_index("merge_request_metrics", "target_project_id, merged_at DESC NULLS LAST, id_convert_to_bigint DESC", {:name=\\\>"tmp_index_mr_metrics_on_target_project_id_merged_at_nulls_last", :algorithm=\\\>:concurrently}) main: -- execute("RESET statement_timeout") main: -\\\> 0.0104s

Details of package version

Provide the package version installation details
16.1.1
Edited by Curtis Spencer