Unhealthy after auto upgrade
- omnibus-gitlab package version
- gitlab
- gitlab-ce 10.0.0-ce.0
- gitlab-ci-multi-runner 9.5.0
- Whether the problems are caused on a fresh install or an upgrade(Describe the upgrade history)
This was from an apt package update on ubuntu 16.04 server VM
Running gitlab-ctl reconfigure
yields same result.
Recipe: gitlab::database_migrations
-
bash[migrate gitlab-rails database] action run [execute] rake aborted! StandardError: An error has occurred, all later migrations canceled:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_user_synced_attributes_metadata_on_user_id" DETAIL: Key (user_id)=(4) already exists. : INSERT INTO user_synced_attributes_metadata (user_id, provider, email_synced) SELECT id, email_provider, external_email FROM users WHERE external_email = TRUE AND NOT EXISTS ( SELECT true FROM user_synced_attributes_metadata WHERE user_id = users.id AND provider = users.email_provider ) AND id BETWEEN 1 AND 16 /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:27:in `block in up' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:75:in `block in each_batch' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in `step' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in `each_batch' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:24:in `up' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:50:in `block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in `load' /opt/gitlab/embedded/bin/bundle:23:in `<main>' ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_user_synced_attributes_metadata_on_user_id" DETAIL: Key (user_id)=(4) already exists. : INSERT INTO user_synced_attributes_metadata (user_id, provider, email_synced) SELECT id, email_provider, external_email FROM users WHERE external_email = TRUE AND NOT EXISTS ( SELECT true FROM user_synced_attributes_metadata WHERE user_id = users.id AND provider = users.email_provider ) AND id BETWEEN 1 AND 16 /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:27:in `block in up' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:75:in `block in each_batch' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in `step' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in `each_batch' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:24:in `up' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:50:in `block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in `load' /opt/gitlab/embedded/bin/bundle:23:in `<main>' PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_user_synced_attributes_metadata_on_user_id" DETAIL: Key (user_id)=(4) already exists. /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:27:in `block in up' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:75:in `block in each_batch' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in `step' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in `each_batch' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:24:in `up' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:50:in `block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in `load' /opt/gitlab/embedded/bin/bundle:23:in `<main>' Tasks: TOP => db:migrate (See full trace by running task with --trace) == 20170828170502 PostDeployMigrateUserExternalMailData: migrating ============ -- execute(" INSERT INTO user_synced_attributes_metadata (user_id, provider, email_synced)\n SELECT id, email_provider, external_email\n FROM users\n WHERE external_email = TRUE\n AND NOT EXISTS (\n SELECT true\n FROM user_synced_attributes_metadata\n WHERE user_id = users.id\n AND provider = users.email_provider\n )\n AND id BETWEEN 1 AND 16\n")
run
on resource 'bash[migrate gitlab-rails database]'Expected process to exit with [0], but received '1' ---- Begin output of "bash" "/tmp/chef-script20170922-19551-hbbmrn" ---- STDOUT: rake aborted! StandardError: An error has occurred, all later migrations canceled:
- PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_user_synced_attributes_metadata_on_user_id" DETAIL: Key (user_id)=(4) already exists.
- INSERT INTO user_synced_attributes_metadata (user_id, provider, email_synced)
SELECT id, email_provider, external_email
FROM users
WHERE external_email = TRUE
AND NOT EXISTS (
SELECT true
FROM user_synced_attributes_metadata
WHERE user_id = users.id
AND provider = users.email_provider
)
AND id BETWEEN 1 AND 16
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:27:in
block in up' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:75:in
block in each_batch' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:instep' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in
each_batch' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:24:inup' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:50:in
block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:inload' /opt/gitlab/embedded/bin/bundle:23:in
' ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_user_synced_attributes_metadata_on_user_id" DETAIL: Key (user_id)=(4) already exists. - INSERT INTO user_synced_attributes_metadata (user_id, provider, email_synced)
SELECT id, email_provider, external_email
FROM users
WHERE external_email = TRUE
AND NOT EXISTS (
SELECT true
FROM user_synced_attributes_metadata
WHERE user_id = users.id
AND provider = users.email_provider
)
AND id BETWEEN 1 AND 16
/opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:27:in
block in up' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:75:in
block in each_batch' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:instep' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in
each_batch' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:24:inup' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:50:in
block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:inload' /opt/gitlab/embedded/bin/bundle:23:in
' PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_user_synced_attributes_metadata_on_user_id" DETAIL: Key (user_id)=(4) already exists. /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:27:inblock in up' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:75:in
block in each_batch' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:instep' /opt/gitlab/embedded/service/gitlab-rails/app/models/concerns/each_batch.rb:56:in
each_batch' /opt/gitlab/embedded/service/gitlab-rails/db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb:24:inup' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:50:in
block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:inload' /opt/gitlab/embedded/bin/bundle:23:in
' Tasks: TOP => db:migrate (See full trace by running task with --trace) == 20170828170502 PostDeployMigrateUserExternalMailData: migrating ============ -- execute(" INSERT INTO user_synced_attributes_metadata (user_id, provider, email_synced)\n SELECT id, email_provider, external_email\n FROM users\n WHERE external_email = TRUE\n AND NOT EXISTS (\n SELECT true\n FROM user_synced_attributes_metadata\n WHERE user_id = users.id\n AND provider = users.email_provider\n )\n AND id BETWEEN 1 AND 16\n") STDERR: ---- End output of "bash" "/tmp/chef-script20170922-19551-hbbmrn" ---- Ran "bash" "/tmp/chef-script20170922-19551-hbbmrn" returned 1
51: bash "migrate gitlab-rails database" do 52: code <<-EOH 53: set -e 54: log_file="#{node['gitlab']['gitlab-rails']['log_directory']}/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log" 55: umask 077 56: /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee
{PIPESTATUS[0]} 58: echo $STATUS > #{db_migrate_status_file} 59: exit $STATUS 60: EOH 61: environment env_variables unless env_variables.empty? 62: notifies :run, 'execute[enable pg_trgm extension]', :before if omnibus_helper.service_enabled?('postgresql') 63: notifies :run, "execute[clear the gitlab-rails cache]", :immediately 64: dependent_services.each do |svc| 65: notifies :restart, svc, :immediately 66: end 67: not_if "(test -f #{db_migrate_status_file}) && (cat #{db_migrate_status_file} | grep -Fx 0)" 68: only_if { node['gitlab']['gitlab-rails']['auto_migrate'] } 69: endbash("migrate gitlab-rails database") do action [:run] updated true retries 0 retry_delay 2 default_guard_interpreter :default command "migrate gitlab-rails database" backup 5 returns 0 code " set -e\n log_file="/var/log/gitlab/gitlab-rails/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log"\n umask 077\n /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee
There was an error rendering this math block. KaTeX parse error: Undefined control sequence: \n at position 11: {log_file}\̲n̲ ̲ ̲ ̲ ̲STATUS={PIPESTATUS[0]}\n echo $STATUS > /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-bbf5c73\n exit $STATUS\n" interpreter "bash" declared_type :bash cookbook_name "gitlab" recipe_name "database_migrations" not_if "(test -f /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-bbf5c73) && (cat /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-bbf5c73 | grep -Fx 0)" only_if { #code block } endx86_64-linux