Skip to content

Commit e13ab3e

Browse files
committed
fix(plugin-email): make the sweep's per-row failure line name the real cause class
A row whose message cannot be reconstructed is already recorded as `failed` by deliverPersistedRow, so the only way into this catch is the datasource or the queue. Say that instead of sending the operator to inspect the row's columns. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017MCKJaEomEqg4tvz4SzdNd
1 parent 68aed04 commit e13ab3e

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

packages/plugins/plugin-email/src/outbox-sweep.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,10 +202,9 @@ export async function sweepStrandedOutbox(
202202
logger?.error?.(
203203
`EmailServicePlugin: outbox sweep could not advance sys_email row '${rowId}' — that message stays `
204204
+ 'at `queued`, undelivered, and nothing will look at it again until the next restart, while the '
205-
+ 'server keeps reporting healthy. Fix: check the row with '
206-
+ "`SELECT * FROM sys_email WHERE id = '" + rowId + "'` (a row missing to_addresses/from_address/"
207-
+ 'subject can never be sent and should be marked failed), then restart to re-sweep. '
208-
+ `Cause: ${err?.message ?? err}`,
205+
+ 'server keeps reporting healthy. Fix: the cause below comes from the datasource or the queue, '
206+
+ 'not from the message itself (a message that cannot be sent is recorded as `failed` on its own '
207+
+ `row); restore that dependency and restart to re-sweep. Cause: ${err?.message ?? err}`,
209208
);
210209
}
211210
}

0 commit comments

Comments
 (0)