Upgrade from 15.6.8 to 15.7.0 Failed db migration - ValidateNotNullContraintOnIssuesWorkItemTypeId
Summary
I am trying to upgrade Gitlab Omnibus from version 15.6.8 to 15.7.0 There is no Pending or failed Background migrations.
Steps to reproduce
Upgrade from version 15.6.8 to 15.7.0
What is the current bug behavior?
One DB migration fails
What is the expected correct behavior?
Upgrade to a new version without any errors
Relevant logs
Relevant logs
Logs from the upgrade process:
Caused by: PG::CheckViolation: ERROR: check constraint "check_2addf801cd" is violated by some row /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/constraints_helpers.rb:115:in
block in validate_check_constraint' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/timeout_helpers.rb:26:in
disable_statement_timeout' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/constraints_helpers.rb:112:invalidate_check_constraint' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/constraints_helpers.rb:102:in
add_check_constraint' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migrations/constraints_helpers.rb:211:inadd_not_null_constraint' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20221121184931_validate_not_null_contraint_on_issues_work_item_type_id.rb:7:in
up' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb:33:inblock 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:inexec_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/tasks/gitlab/db.rake:115:inconfigure_database' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:95:in
block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:inload' /opt/gitlab/embedded/bin/bundle:23:in
'main: == 20221121184931 ValidateNotNullContraintOnIssuesWorkItemTypeId: migrating === main: -- current_schema() main: -> 0.0007s main: -- transaction_open?() main: -> 0.0000s main: -- current_schema() main: -> 0.0006s main: -- transaction_open?() main: -> 0.0000s main: -- execute("ALTER TABLE issues\nADD CONSTRAINT check_2addf801cd\nCHECK ( work_item_type_id IS NOT NULL )\nNOT VALID;\n") main: -> 0.0012s main: -- current_schema() main: -> 0.0006s main: -- execute("ALTER TABLE issues VALIDATE CONSTRAINT check_2addf801cd;") STDERR: ---- End output of "bash" ---- Ran "bash" returned 1
Details of package version
Provide the package version installation details
gitlab_rails['env'] = { 'PLANTUML_ENCODING' => 'deflate' } nginx['listen_port'] = 80 nginx['listen_https'] = false nginx['hsts_max_age'] = 0 nginx['hsts_include_subdomains'] = false gitlab_rails['shared_path'] = '/gitlab/shared' high_availability['mountpoint'] = ["/gitlab"] gitlab_rails['db_adapter'] = "postgresql" gitlab_rails['db_encoding'] = "unicode" gitlab_rails['db_port'] = 5432 gitlab_rails['database_reindexing']['hour'] = '21,22,23,3,4,5,6' gitlab_rails['database_reindexing']['minute'] = 0 gitlab_rails['database_reindexing']['month'] = '' gitlab_rails['database_reindexing']['day_of_month'] = '' gitlab_rails['database_reindexing']['day_of_week'] = '' gitlab_rails['db_tcp_user_timeout'] = 120 gitlab_rails['registry_enabled'] = false puma['enable'] = true puma['worker_timeout'] = 600 puma['worker_processes'] = 7 puma['min_threads'] = 1 puma['max_threads'] = 1 puma['per_worker_max_memory_mb'] = 2048 postgresql['enable'] = false nginx['enable'] = true nginx['client_max_body_size'] = '5000m' gitlab_pages['enable'] = true gitlab_pages['status_uri'] = "/@status" gitlab_pages['listen_proxy'] = "0.0.0.0:8090" gitlab_pages['use_http2'] = true gitlab_pages['access_control'] = true gitlab_ci['builds_directory'] = '/gitlab/builds' prometheus['enable'] = true prometheus['listen_address'] = 'localhost:9090' grafana['enable'] = true grafana['log_directory'] = '/gitlab/shared/grafana' gitlab_rails['packages_enabled'] = true sidekiq['queue_groups'] = [ "", "*" ]