Actions
Bug #12367
closedActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint "katello_system_errata_eid_sid"
Description
Description:
Actions::Katello::System::GenerateApplicability often causes
ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint "katello_system_errata_eid_sid"
Actual results:
Action: Actions::Katello::System::GenerateApplicability Input: {"services_checked"=>["pulp", "pulp_auth"], "system_ids"=>[244], "locale"=>"ru"} Output: {} Exception: ActiveRecord::StatementInvalid: PGError: ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "katello_system_errata_eid_sid" DETAIL: Ключ "(erratum_id, system_id)=(3096, 244)" уже существует. : INSERT INTO katello_system_errata (erratum_id, system_id) VALUES (3096, 244), (3139, 244), (3751, 244), (3953, 244), (4327, 244), (5912, 244), (5655, 244), (6042, 244), (11266, 244), (11454, 244), (7807, 244), (11669, 244), (11671, 244), (11672, 244), (7905, 244), (7952, 244), (7989, 244), (8038, 244), (8097, 244), (8310, 244), (8356, 244), (8384, 244), (11351, 244), (8985, 244), (9210, 244), (9320, 244), (9248, 244), (9327, 244), (9328, 244), (9730, 244), (9675, 244), (9724, 244), (9760, 244), (9775, 244), (9780, 244), (9811, 244), (9818, 244), (9819, 244), (9846, 244), (9864, 244), (9878, 244), (10190, 244), (8362, 244), (15832, 244), (15963, 244), (11485, 244), (10400, 244), (13452, 244), (7703, 244), (11637, 244), (11641, 244), (11650, 244), (11651, 244), (14520, 244), (11634, 244), (7776, 244) Backtrace: /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:654:in `async_exec' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:654:in `block in execute' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:653:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/models/katello/system.rb:374:in `insert_errata_applicability' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/models/katello/system.rb:361:in `block (2 levels) in import_applicability' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/models/katello/system.rb:350:in `block in import_applicability' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/lib/katello/util/support.rb:78:in `active_record_retry' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/models/katello/system.rb:349:in `import_applicability' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/lib/actions/katello/system/generate_applicability.rb:14:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/relation/delegation.rb:6:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/relation/delegation.rb:6:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/lib/actions/katello/system/generate_applicability.rb:13:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:528:in `block (2 levels) in execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:26:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action/progress.rb:30:in `with_progress_calculation' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action/progress.rb:22:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/lib/actions/middleware/keep_locale.rb:15:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/lib/actions/middleware/keep_locale.rb:22:in `with_locale' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.1/app/lib/actions/middleware/keep_locale.rb:15:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/world.rb:30:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:527:in `block in execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:419:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:419:in `block in with_error_handling' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:419:in `catch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:419:in `with_error_handling' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:526:in `execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/action.rb:260:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:9:in `block (2 levels) in execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/execution_plan/steps/abstract.rb:155:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/execution_plan/steps/abstract.rb:155:in `with_meta_calculation' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:8:in `block in execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:22:in `open_action' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:7:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:72:in `run_step' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:57:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `block in run_in_sequence' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `all?' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `run_in_sequence' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:53:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:28:in `block (2 levels) in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:26:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware.rb:45:in `finalize_phase' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware.rb:45:in `finalize_phase' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/middleware/world.rb:30:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:27:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/transaction_adapters/active_record.rb:5:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/sequential_manager.rb:24:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/worker.rb:18:in `block in on_message' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matchers/abstract.rb:74:in `block in assigns' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matchers/abstract.rb:73:in `tap' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matchers/abstract.rb:73:in `assigns' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:56:in `match_value' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:36:in `block in match?' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:35:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:35:in `match?' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.7.3/lib/algebrick/matching.rb:23:in `match' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/executors/parallel/worker.rb:12:in `on_message' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/context.rb:47:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/executes_context.rb:7:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/abstract.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.8.5/lib/dynflow/actor.rb:26:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/abstract.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/awaits.rb:15:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/abstract.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/sets_results.rb:14:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/abstract.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/buffer.rb:38:in `process_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/buffer.rb:31:in `process_envelopes?' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/buffer.rb:20:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/abstract.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/termination.rb:55:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/abstract.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/removes_child.rb:10:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/abstract.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/behaviour/sets_results.rb:14:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/core.rb:161:in `process_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/core.rb:95:in `block in on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/core.rb:118:in `block (2 levels) in schedule_execution' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/synchronization/monitor_object.rb:17:in `block in synchronize' /opt/rh/ruby193/root/usr/share/ruby/monitor.rb:211:in `mon_synchronize' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/synchronization/monitor_object.rb:17:in `synchronize' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-edge-0.1.0/lib/concurrent/actor/core.rb:115:in `block in schedule_execution' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/serialized_execution.rb:19:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/serialized_execution.rb:19:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/serialized_execution.rb:97:in `work' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/serialized_execution.rb:78:in `block in call_job' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/ruby_thread_pool_executor.rb:332:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/ruby_thread_pool_executor.rb:332:in `run_task' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (3 levels) in create_worker' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/ruby_thread_pool_executor.rb:303:in `loop' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/ruby_thread_pool_executor.rb:303:in `block (2 levels) in create_worker' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/ruby_thread_pool_executor.rb:302:in `catch' /opt/rh/ruby193/root/usr/share/gems/gems/concurrent-ruby-0.9.0/lib/concurrent/executor/ruby_thread_pool_executor.rb:302:in `block in create_worker' /opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context' caused by: (PGError) ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "katello_system_errata_eid_sid" DETAIL: Ключ "(erratum_id, system_id)=(3096, 244)" уже существует. ... skipped 115 lines
Expected results:
No errors
Additional info:
Failing task:
Name: Generate applicability Owner: foreman_admin
Package versions:
rubygem-hammer_cli_katello-0.0.17-2.el7.noarch katello-selinux-2.2.1-1.el7.noarch katello-server-ca-1.0-2.noarch katello-service-2.3.0-6.el7.noarch katello-2.3.0-6.el7.noarch katello-default-ca-1.0-1.noarch katello-certs-tools-2.3.0-4.el7.noarch katello-installer-2.3.1-6.el7.noarch katello-common-2.3.0-6.el7.noarch katello-agent-2.3.1-4.el7.noarch katello-installer-base-2.3.1-6.el7.noarch ruby193-rubygem-katello-2.3.1-2.el7.noarch pulp-katello-0.4-2.el7.noarch katello-debug-2.3.0-6.el7.noarch
Updated by Eric Helms about 9 years ago
- Category set to 81
- Translation missing: en.field_release set to 70
- Triaged changed from No to Yes
Updated by Justin Sherrill about 9 years ago
- Translation missing: en.field_release changed from 70 to 86
Updated by Eric Helms over 8 years ago
- Status changed from New to Resolved
Setting to resolved given the age of the issue and there have been other changes to address issues like this. If you still see it, please re-open and we will investigate.
Actions