`Security::ProcessScanResultPolicyWorker` creates a subtransaction
Description
We were recently alerted that a new subtransaction was created in our database. It originates from Security::ProcessScanResultPolicyWorker
:
Backtrace:
lib/gitlab/database/transaction/observer.rb:42:in `block in register!', app/models/application_record.rb:86:in `block in safe_find_or_create_by', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', app/models/application_record.rb:86:in `safe_find_or_create_by', app/models/application_record.rb:56:in `safe_find_or_create_by!', ee/app/models/software_license.rb:38:in `create_policy_for!', ee/app/services/software_license_policies/create_service.rb:25:in `create_software_license_policy', ee/app/services/software_license_policies/create_service.rb:14:in `execute', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:50:in `block in create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:31:in `block in create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each_with_index', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:15:in `execute', ee/app/workers/security/process_scan_result_policy_worker.rb:39:in `block (3 levels) in perform', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each_with_index', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `block (2 levels) in perform', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', ee/app/workers/security/process_scan_result_policy_worker.rb:30:in `block in perform', lib/gitlab/exclusive_lease_helpers.rb:38:in `in_lock', ee/app/workers/security/process_scan_result_policy_worker.rb:29:in `perform', lib/gitlab/application_context.rb:115:in `block in use', lib/gitlab/application_context.rb:115:in `use', lib/gitlab/application_context.rb:55:in `with_context', lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/with_request_store.rb:17:in `enabling_request_store', lib/gitlab/with_request_store.rb:10:in `with_request_store', lib/gitlab/sidekiq_daemon/monitor.rb:46:in `within_job', lib/gitlab/database/transaction/observer.rb:42:in `block in register!', app/models/application_record.rb:86:in `block in safe_find_or_create_by', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', app/models/application_record.rb:86:in `safe_find_or_create_by', app/models/application_record.rb:56:in `safe_find_or_create_by!', ee/app/models/software_license.rb:38:in `create_policy_for!', ee/app/services/software_license_policies/create_service.rb:25:in `create_software_license_policy', ee/app/services/software_license_policies/create_service.rb:14:in `execute', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:50:in `block in create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:31:in `block in create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each_with_index', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:15:in `execute', ee/app/workers/security/process_scan_result_policy_worker.rb:39:in `block (3 levels) in perform', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each_with_index', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `block (2 levels) in perform', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', ee/app/workers/security/process_scan_result_policy_worker.rb:30:in `block in perform', lib/gitlab/exclusive_lease_helpers.rb:38:in `in_lock', ee/app/workers/security/process_scan_result_policy_worker.rb:29:in `perform', lib/gitlab/application_context.rb:115:in `block in use', lib/gitlab/application_context.rb:115:in `use', lib/gitlab/application_context.rb:55:in `with_context', lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/with_request_store.rb:17:in `enabling_request_store', lib/gitlab/with_request_store.rb:10:in `with_request_store', lib/gitlab/sidekiq_daemon/monitor.rb:46:in `within_job', lib/gitlab/database/transaction/observer.rb:42:in `block in register!', app/models/application_record.rb:86:in `block in safe_find_or_create_by', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', app/models/application_record.rb:86:in `safe_find_or_create_by', app/models/application_record.rb:56:in `safe_find_or_create_by!', ee/app/models/software_license.rb:38:in `create_policy_for!', ee/app/services/software_license_policies/create_service.rb:25:in `create_software_license_policy', ee/app/services/software_license_policies/create_service.rb:14:in `execute', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:50:in `block in create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:31:in `block in create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each_with_index', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:15:in `execute', ee/app/workers/security/process_scan_result_policy_worker.rb:39:in `block (3 levels) in perform', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each_with_index', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `block (2 levels) in perform', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', ee/app/workers/security/process_scan_result_policy_worker.rb:30:in `block in perform', lib/gitlab/exclusive_lease_helpers.rb:38:in `in_lock', ee/app/workers/security/process_scan_result_policy_worker.rb:29:in `perform', lib/gitlab/application_context.rb:115:in `block in use', lib/gitlab/application_context.rb:115:in `use', lib/gitlab/application_context.rb:55:in `with_context', lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/with_request_store.rb:17:in `enabling_request_store', lib/gitlab/with_request_store.rb:10:in `with_request_store', lib/gitlab/sidekiq_daemon/monitor.rb:46:in `within_job', lib/gitlab/database/transaction/observer.rb:42:in `block in register!', app/models/application_record.rb:86:in `block in safe_find_or_create_by', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', app/models/application_record.rb:86:in `safe_find_or_create_by', app/models/application_record.rb:56:in `safe_find_or_create_by!', ee/app/models/software_license.rb:38:in `create_policy_for!', ee/app/services/software_license_policies/create_service.rb:25:in `create_software_license_policy', ee/app/services/software_license_policies/create_service.rb:14:in `execute', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:50:in `block in create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:41:in `create_software_license_policies', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:31:in `block in create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `each_with_index', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:26:in `create_new_approval_rules', ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb:15:in `execute', ee/app/workers/security/process_scan_result_policy_worker.rb:39:in `block (3 levels) in perform', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `each_with_index', ee/app/workers/security/process_scan_result_policy_worker.rb:36:in `block (2 levels) in perform', app/models/concerns/cross_database_modification.rb:92:in `block in transaction', lib/gitlab/database.rb:347:in `block in transaction', lib/gitlab/database.rb:346:in `transaction', app/models/concerns/cross_database_modification.rb:83:in `transaction', ee/app/workers/security/process_scan_result_policy_worker.rb:30:in `block in perform', lib/gitlab/exclusive_lease_helpers.rb:38:in `in_lock', ee/app/workers/security/process_scan_result_policy_worker.rb:29:in `perform', lib/gitlab/application_context.rb:115:in `block in use', lib/gitlab/application_context.rb:115:in `use', lib/gitlab/application_context.rb:55:in `with_context', lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/with_request_store.rb:17:in `enabling_request_store', lib/gitlab/with_request_store.rb:10:in `with_request_store', lib/gitlab/sidekiq_daemon/monitor.rb:46:in `within_job'
Edited by Grzegorz Bizon | OOO until July 2nd