#523 [API/Race] Signal duplicate send - no idempotency

closed high Created 2025-12-17 14:59 · Updated 2025-12-17 15:52

Description

Edit
**File:** api/blueprints/v1/signals.py:33-64 **Problem:** Client retries can send duplicate signals. Both INSERTs succeed, workflow may process signal twice. **Fix:** Add idempotency key support: ```sql INSERT INTO workflow_signals (signal_id, workflow_run_id, signal_name, idempotency_key, ...) VALUES (%s, %s, %s, %s, ...) ON CONFLICT (workflow_run_id, signal_name, idempotency_key) DO NOTHING RETURNING signal_id ``` **Impact:** Duplicate signal processing, workflow state corruption.

Comments

Loading comments...

Context

Loading context...

Audit History

View All
Loading audit history...