Commit fbd45d0
committed
docs(adr): log AmbiguousCommitException consumer wiring as known gap
The in-service half of the ambiguous-commit protection is delivered (no
retry once the real COMMIT has been attempted), but the caller-side half
the exception's contract directs - queue jobs catching it and failing
without retry - is not wired anywhere: no job or service in app/ catches
it, Laravel's queue retries on any uncaught exception while tries remain
(21 jobs declare tries of 2-5; ~35 top-level jobs inherit the worker
default), and the one catch that does see it today (processTicketData's
per-row log-and-skip) swallows it as a generic warning and still deletes
the import file.
Recorded in ADR-003 Known Gaps with the recommended follow-up: catch and
fail() without retry in payment/order-critical jobs (error-level
reconciliation event), and in log-and-skip loops handle it separately
from the generic catch - record the row as unknown outcome and preserve
the source artifact for reconciliation.1 parent 757d3b8 commit fbd45d0
1 file changed
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
0 commit comments