fix(db): skip missing pgmq tables in queue cleanup - #2734
Conversation
pgmq.meta can list obsolete queues like replicate_data with no q_/a_ tables; cleanup_queue_messages must skip those instead of failing. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe migration hardens ChangesQueue cleanup resilience
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Vitest
participant cleanup_queue_messages
participant pgmq.meta
participant pgmq_relations
Vitest->>pgmq.meta: Insert stale queue metadata
Vitest->>cleanup_queue_messages: Invoke cleanup
cleanup_queue_messages->>pgmq.meta: Read queue metadata
cleanup_queue_messages->>pgmq_relations: Resolve queue/archive relations
cleanup_queue_messages->>pgmq_relations: Delete from existing relations only
cleanup_queue_messages-->>Vitest: Complete successfully
Possibly related PRs
Suggested labels: Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_44df1349-9630-4fe9-b6ab-75fe235c4903) |
Merging this PR will not alter performance
Comparing Footnotes
|
|
Main #2734 skips missing pgmq tables during cleanup so PGlite/Tinbase unit/DB tests stop failing with relation "pgmq.meta" does not exist. Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>





Summary (AI generated)
cleanup_queue_messagesskip queues whosepgmq.q_*/pgmq.a_*tables are missingpgmq.metarow forreplicate_datawhen tables are goneMotivation (AI generated)
Capgo-EU reclaim failed with
relation "pgmq.a_replicate_data" does not exist.replicate_datais an obsolete meta leftover (documented as omitted in prod baseline) still returned bypgmq.list_queues().Business Impact (AI generated)
Unblocks Capgo-EU queue archive reclaim and hourly cleanup cron.
Test Plan (AI generated)
SELECT public.cleanup_queue_messages()Generated with AI
Made with Cursor
Summary by CodeRabbit
Bug Fixes
Tests