Broken master: duplicate key value violates unique constraint "index_security_training_providers_on_unique_name" in ee/spec/services/security/update_training_service_spec.rb
Job #2174184272 failed for 8203139d:
1) Security::UpdateTrainingService#execute when `is_enabled` argument is true when `is_primary` argument is true when there is already a primary training for the project when there is no security training for the project with given provider creates a new security training record for the project
Failure/Error: connection.send(...)
ActiveRecord::RecordNotUnique:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_security_training_providers_on_unique_name"
DETAIL: Key (name)=(Acme) already exists.
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:112:in `block in read_write'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:172:in `retry_with_backoff'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:110:in `read_write'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:125:in `write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:67:in `block (2 levels) in <class:ConnectionProxy>'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:112:in `block in read_write'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:172:in `retry_with_backoff'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:110:in `read_write'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:125:in `write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:77:in `transaction'
# ./ee/spec/services/security/update_training_service_spec.rb:85:in `block (6 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# PG::UniqueViolation:
# ERROR: duplicate key value violates unique constraint "index_security_training_providers_on_unique_name"
# DETAIL: Key (name)=(Acme) already exists.
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
2) Security::UpdateTrainingService#execute when `is_enabled` argument is true when `is_primary` argument is true when there is already a primary training for the project when there is a security training for the project with given provider updates the `is_primary` attribute of the security training records
Failure/Error: connection.send(...)
ActiveRecord::RecordNotUnique:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_security_training_providers_on_unique_name"
DETAIL: Key (name)=(Acme) already exists.
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:112:in `block in read_write'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:172:in `retry_with_backoff'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:110:in `read_write'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:125:in `write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:67:in `block (2 levels) in <class:ConnectionProxy>'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:112:in `block in read_write'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:172:in `retry_with_backoff'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:110:in `read_write'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:125:in `write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:77:in `transaction'
# ./ee/spec/services/security/update_training_service_spec.rb:85:in `block (6 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# PG::UniqueViolation:
# ERROR: duplicate key value violates unique constraint "index_security_training_providers_on_unique_name"
# DETAIL: Key (name)=(Acme) already exists.
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
Finished in 11.09 seconds (files took 56.02 seconds to load)
2 examples, 2 failures
Failed examples:
rspec ./ee/spec/services/security/update_training_service_spec.rb:88 # Security::UpdateTrainingService#execute when `is_enabled` argument is true when `is_primary` argument is true when there is already a primary training for the project when there is no security training for the project with given provider creates a new security training record for the project
rspec ./ee/spec/services/security/update_training_service_spec.rb:98 # Security::UpdateTrainingService#execute when `is_enabled` argument is true when `is_primary` argument is true when there is already a primary training for the project when there is a security training for the project with given provider updates the `is_primary` attribute of the security training records
Edited by Luke Duncalfe