mirror of
https://github.com/multica-ai/multica.git
synced 2026-06-17 03:38:32 +02:00
fix(db): relax pending task unique index to per-(issue, agent) (#637)
The idx_one_pending_task_per_issue index only allowed one pending task per issue across all agents, causing different agents' queued/dispatched tasks to block each other. This mismatched the code-level dedup which checks per (issue_id, agent_id). Replace with idx_one_pending_task_per_issue_agent on (issue_id, agent_id) so each agent can independently have one pending task. Fixes MUL-495 Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
DROP INDEX IF EXISTS idx_one_pending_task_per_issue_agent;
|
||||
|
||||
CREATE UNIQUE INDEX idx_one_pending_task_per_issue
|
||||
ON agent_task_queue (issue_id)
|
||||
WHERE status IN ('queued', 'dispatched');
|
||||
@@ -0,0 +1,8 @@
|
||||
-- Fix: the old index only allowed one pending task per issue across ALL agents.
|
||||
-- This caused different agents' pending tasks to block each other.
|
||||
-- Change to per-(issue, agent) so each agent can independently have one pending task.
|
||||
DROP INDEX IF EXISTS idx_one_pending_task_per_issue;
|
||||
|
||||
CREATE UNIQUE INDEX idx_one_pending_task_per_issue_agent
|
||||
ON agent_task_queue (issue_id, agent_id)
|
||||
WHERE status IN ('queued', 'dispatched');
|
||||
Reference in New Issue
Block a user