#745 Cross-run event pollution causes deadlock in parallel workflows
Description
EditStatic event names in DSL templates persist in jumper.e_highway_default between runs. When a subsequent run starts, await_event finds the stale event immediately (no sleep), holding the e_ row FOR UPDATE lock while also needing tool_rate_limit_usage lock from consume_tool_rate_token. This creates an ABBA deadlock with emit_event (which holds rate_limit lock and needs e_ lock). Fixed by scoping event names to workflow_run_id using {{workflow_run_id}} template variable. Fixed in: golden_deterministic_v2, golden_ultimate_correctness, golden_disaster_recovery, event_coordination templates.
Comments
Loading comments...
Context
Loading context...
Audit History
View AllLoading audit history...