[Mismatch title]: Investigate epic and work item title mismatch
We found a mismatch for an epic where the title
was not correct: https://log.gprd.gitlab.net/app/discover#/doc/7092c4e2-4eb5-46f2-8305-a7da2edad090/pubsub-rails-inf-gprd-020424?id=PrUhY44BDfB7o2quOAST
The error looks like an issue with spawning our job within a transaction. Part of this issue is investigating:
- If we really have a mismatch
- How we can fix spawning the job in a transaction
Stacktrace
"config/initializers/forbid_sidekiq_in_transactions.rb:28:in `raise_inside_transaction_exception'",
"config/initializers/forbid_sidekiq_in_transactions.rb:43:in `block (2 levels) in <module:NoEnqueueingFromTransactions>'",
"app/workers/concerns/application_worker.rb:104:in `block (4 levels) in <module:ApplicationWorker>'",
"app/workers/concerns/application_worker.rb:211:in `route_sidekiq_job'",
"app/workers/concerns/application_worker.rb:103:in `block (3 levels) in <module:ApplicationWorker>'",
"app/services/web_hook_service.rb:124:in `block in async_execute'",
"lib/gitlab/application_context.rb:133:in `block in use'",
"gitlab-labkit (0.35.1) lib/labkit/context.rb:35:in `with_context'",
"lib/gitlab/application_context.rb:133:in `use'",
"lib/gitlab/application_context.rb:66:in `with_context'",
"app/services/web_hook_service.rb:115:in `async_execute'",
"app/models/hooks/web_hook.rb:64:in `async_execute'",
"ee/app/models/ee/group.rb:753:in `block in execute_hooks'",
"activerecord (7.0.8.1) lib/active_record/relation/delegation.rb:88:in `each'",
"activerecord (7.0.8.1) lib/active_record/relation/delegation.rb:88:in `each'",
"ee/app/models/ee/group.rb:752:in `execute_hooks'",
"app/services/issues/base_service.rb:37:in `execute_hooks'",
"app/services/issuable_base_service.rb:267:in `create'",
"ee/app/services/ee/issues/create_service.rb:12:in `create'",
"app/services/issues/create_service.rb:36:in `execute'",
"app/services/concerns/rate_limited_service.rb:84:in `execute'",
"app/services/work_items/create_service.rb:20:in `execute'",
"app/services/concerns/rate_limited_service.rb:74:in `execute_without_rate_limiting'",
"ee/app/services/concerns/epics/sync_as_work_item.rb:22:in `create_work_item_for!'",
"ee/app/services/epics/create_service.rb:24:in `block in transaction_create'",
"<internal:kernel>:90:in `tap'",
"ee/app/services/epics/create_service.rb:21:in `transaction_create'",
"app/services/issuable_base_service.rb:256:in `block in create'",
"activerecord (7.0.8.1) lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'",
"activerecord (7.0.8.1) lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'",
"activesupport (7.0.8.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'",
"activesupport (7.0.8.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'",
"activesupport (7.0.8.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'",
"activesupport (7.0.8.1) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'",
"activerecord (7.0.8.1) lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'",
"activerecord (7.0.8.1) lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'",
"lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `public_send'",
"lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `block in write_using_load_balancer'",
"lib/gitlab/database/load_balancing/load_balancer.rb:141:in `block in read_write'",
"lib/gitlab/database/load_balancing/load_balancer.rb:235:in `retry_with_backoff'",
"lib/gitlab/database/load_balancing/load_balancer.rb:130:in `read_write'",
"lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `write_using_load_balancer'",
"lib/gitlab/database/load_balancing/connection_proxy.rb:78:in `transaction'",
"activerecord (7.0.8.1) lib/active_record/transactions.rb:350:in `with_transaction_returning_status'",
"app/services/issuable_base_service.rb:255:in `create'",
"ee/app/services/epics/create_service.rb:15:in `execute'",
"app/services/concerns/rate_limited_service.rb:84:in `execute'",
"ee/app/graphql/mutations/epics/create.rb:25:in `resolve'",
"graphql (2.2.5) lib/graphql/schema/resolver.rb:107:in `public_send'",
"graphql (2.2.5) lib/graphql/schema/resolver.rb:107:in `block (3 levels) in resolve_with_support'",
"graphql (2.2.5) lib/graphql/schema.rb:1276:in `after_lazy'",
"graphql (2.2.5) lib/graphql/query.rb:374:in `after_lazy'",
"graphql (2.2.5) lib/graphql/schema/resolver.rb:94:in `block (2 levels) in resolve_with_support'",
"graphql (2.2.5) lib/graphql/schema.rb:1276:in `after_lazy'",
"graphql (2.2.5) lib/graphql/query.rb:374:in `after_lazy'",
"graphql (2.2.5) lib/graphql/schema/resolver.rb:85:in `block in resolve_with_support'",
"graphql (2.2.5) lib/graphql/schema.rb:1276:in `after_lazy'",
"graphql (2.2.5) lib/graphql/query.rb:374:in `after_lazy'",
"graphql (2.2.5) lib/graphql/schema/resolver.rb:73:in `resolve_with_support'",
"graphql (2.2.5) lib/graphql/schema/has_single_input_argument.rb:36:in `resolve_with_support'",
"graphql (2.2.5) lib/graphql/schema/relay_classic_mutation.rb:45:in `resolve_with_support'",
"graphql (2.2.5) lib/graphql/schema/field.rb:698:in `public_send'",
"graphql (2.2.5) lib/graphql/schema/field.rb:698:in `block (2 levels) in resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:843:in `block in with_extensions'",
"graphql (2.2.5) lib/graphql/schema/field.rb:879:in `block (2 levels) in run_extensions_before_resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:879:in `block (2 levels) in run_extensions_before_resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:882:in `run_extensions_before_resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:879:in `block in run_extensions_before_resolve'",
"graphql (2.2.5) lib/graphql/schema/field_extension.rb:134:in `resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:866:in `run_extensions_before_resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:879:in `block in run_extensions_before_resolve'",
"lib/gitlab/graphql/present/field_extension.rb:18:in `resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:866:in `run_extensions_before_resolve'",
"graphql (2.2.5) lib/graphql/schema/field.rb:838:in `with_extensions'",
"graphql (2.2.5) lib/graphql/schema/field.rb:669:in `block in resolve'",
"graphql (2.2.5) lib/graphql/schema.rb:1276:in `after_lazy'",
"graphql (2.2.5) lib/graphql/query.rb:374:in `after_lazy'",
"graphql (2.2.5) lib/graphql/schema/field.rb:667:in `resolve'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:358:in `block (2 levels) in evaluate_selection_with_resolved_keyword_args'",
"graphql (2.2.5) lib/graphql/tracing/trace.rb:52:in `execute_field'",
"graphql (2.2.5) lib/graphql/tracing/legacy_trace.rb:41:in `block in execute_field'",
"graphql (2.2.5) lib/graphql/tracing.rb:58:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"batch-loader (2.0.1) lib/batch_loader/graphql.rb:18:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/timer_tracer.rb:20:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/logger_tracer.rb:14:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/metrics_tracer.rb:13:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/application_context_tracer.rb:23:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:44:in `trace'",
"graphql (2.2.5) lib/graphql/tracing/legacy_trace.rb:41:in `execute_field'",
"graphql (2.2.5) lib/graphql/schema/timeout.rb:84:in `execute_field'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:357:in `block in evaluate_selection_with_resolved_keyword_args'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:709:in `call_method_on_directives'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:354:in `evaluate_selection_with_resolved_keyword_args'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:331:in `block in evaluate_selection_with_args'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:830:in `after_lazy'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:279:in `evaluate_selection_with_args'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:273:in `block in evaluate_selection'",
"graphql (2.2.5) lib/graphql/execution/interpreter/arguments_cache.rb:46:in `dataload_for'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:271:in `evaluate_selection'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:214:in `block (2 levels) in evaluate_selections'",
"graphql (2.2.5) lib/graphql/dataloader/null_dataloader.rb:19:in `append_job'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:212:in `block in evaluate_selections'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:211:in `each'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:211:in `evaluate_selections'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:121:in `block (4 levels) in run_eager'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:709:in `call_method_on_directives'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:120:in `block (3 levels) in run_eager'",
"graphql (2.2.5) lib/graphql/dataloader/null_dataloader.rb:19:in `append_job'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:111:in `block (2 levels) in run_eager'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:71:in `tap_or_each'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:102:in `block in run_eager'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:709:in `call_method_on_directives'",
"graphql (2.2.5) lib/graphql/execution/interpreter/runtime.rb:93:in `run_eager'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:75:in `block (6 levels) in run_all'",
"graphql (2.2.5) lib/graphql/tracing/trace.rb:44:in `execute_query'",
"graphql (2.2.5) lib/graphql/tracing/legacy_trace.rb:33:in `block in execute_query'",
"graphql (2.2.5) lib/graphql/tracing.rb:58:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"batch-loader (2.0.1) lib/batch_loader/graphql.rb:21:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/timer_tracer.rb:20:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/logger_tracer.rb:14:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/metrics_tracer.rb:13:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/application_context_tracer.rb:20:in `block in trace'",
"lib/gitlab/application_context.rb:133:in `block in use'",
"gitlab-labkit (0.35.1) lib/labkit/context.rb:35:in `with_context'",
"lib/gitlab/application_context.rb:133:in `use'",
"lib/gitlab/application_context.rb:66:in `with_context'",
"lib/gitlab/graphql/tracers/application_context_tracer.rb:19:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:44:in `trace'",
"graphql (2.2.5) lib/graphql/tracing/legacy_trace.rb:33:in `execute_query'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:74:in `block (5 levels) in run_all'",
"graphql (2.2.5) lib/graphql/dataloader/null_dataloader.rb:19:in `append_job'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:62:in `block (4 levels) in run_all'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:61:in `each'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:61:in `each_with_index'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:61:in `block (3 levels) in run_all'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:165:in `block (2 levels) in each_query_call_hooks'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:160:in `each_query_call_hooks'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:164:in `block in each_query_call_hooks'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:191:in `call_hooks'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:163:in `each_query_call_hooks'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:46:in `block (2 levels) in run_all'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:191:in `call_hooks'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:45:in `block in run_all'",
"graphql (2.2.5) lib/graphql/tracing/trace.rb:40:in `execute_multiplex'",
"graphql (2.2.5) lib/graphql/tracing/legacy_trace.rb:29:in `block in execute_multiplex'",
"graphql (2.2.5) lib/graphql/tracing.rb:58:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"batch-loader (2.0.1) lib/batch_loader/graphql.rb:21:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/timer_tracer.rb:20:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/logger_tracer.rb:14:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/metrics_tracer.rb:13:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `block in call_tracers'",
"lib/gitlab/graphql/tracers/application_context_tracer.rb:23:in `trace'",
"graphql (2.2.5) lib/graphql/tracing.rb:60:in `call_tracers'",
"graphql (2.2.5) lib/graphql/tracing.rb:44:in `trace'",
"graphql (2.2.5) lib/graphql/tracing/legacy_trace.rb:29:in `execute_multiplex'",
"graphql (2.2.5) lib/graphql/schema/timeout.rb:68:in `execute_multiplex'",
"graphql (2.2.5) lib/graphql/execution/interpreter.rb:37:in `run_all'",
"graphql (2.2.5) lib/graphql/schema.rb:1238:in `multiplex'",
"app/graphql/gitlab_schema.rb:48:in `multiplex'",
"graphql (2.2.5) lib/graphql/schema.rb:1214:in `execute'",
"app/controllers/graphql_controller.rb:212:in `execute_query'",
"app/controllers/graphql_controller.rb:67:in `execute'",
Edited by Nicolas Dular