Skip to content

bug: pending match imports can no longer get stuck - #450

Merged
lukepolo merged 1 commit into
mainfrom
bug/stuck-pending-imports
Sep 28, 2026
Merged

lukepolo merged 1 commit into
mainfrom
bug/stuck-pending-imports

Conversation

@lukepolo

Copy link
Copy Markdown
Contributor
  • A pending import only leaves Queued/Parsing from inside its own job, and only Failed rows can be retried. Any job that ended without deciding left its row stuck for good. Five July rows were stuck this way:
    • two resolve jobs threw column "parties" does not exist until their retries ran out;
    • three parse jobs stalled out when the process restarted mid-parse, and BullMQ failed them without our catch ever running.
  • ResolveMatchMetadata now marks the row Failed on its last attempt, as ParseImportedDemo already does.
  • New ReconcilePendingMatchImports runs every 15 minutes. It fails Queued/Parsing rows that have been untouched for 15 minutes and whose resolve-<id> and parse-<id> jobs are all completed, failed or gone, and carries over the job's failedReason when there is one. Rows with a waiting, delayed or active job are left alone.
  • Already ran on the dev stack: the 22:30 UTC tick failed all five stuck rows with their real reasons.

@lukepolo
lukepolo merged commit a23dd9f into main Sep 28, 2026
2 checks passed
@lukepolo
lukepolo deleted the bug/stuck-pending-imports branch September 28, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant