You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dead letters today go to DeadLetterRef and are only logged — in production, undeliverable messages are a signal (crashed entity, wrong path, race during rebalance) and sometimes need to be replayed. Erlang/Akka operators routinely wire dead-letter capture; we can make it a battery.
Scope
Pluggable dead-letter policy via DeadLetterQueueOptions (options family; HOCON actor-ts.dead-letters.*): log-only (today's behavior, default) | metrics (counters per recipient) | persistent (journal-backed ring with retention + max-entries).
Inspection + replay API: list captured letters (filter by recipient/time), replay to the original or an alternate recipient.
Rationale
Dead letters today go to
DeadLetterRefand are only logged — in production, undeliverable messages are a signal (crashed entity, wrong path, race during rebalance) and sometimes need to be replayed. Erlang/Akka operators routinely wire dead-letter capture; we can make it a battery.Scope
DeadLetterQueueOptions(options family; HOCONactor-ts.dead-letters.*):log-only(today's behavior, default) |metrics(counters per recipient) |persistent(journal-backed ring with retention + max-entries).Documentation
Operations docs page (EN + DE); config reference; JSDoc; CHANGELOG.
Acceptance
Non-goals
Automatic replay heuristics; cross-system DLQ export (brokers can consume the journal).
Relates
#222 (poison-pill quarantine — complementary), #131 (label cardinality). Improvement program M5.