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
{{ message }}
Repository navigation
Document what happens to a durable listener when one tenant's database is down #4660
There are no docs for what a Wolverine application does when one tenant's database is unreachable while a durable listener is serving every tenant from the same endpoint. The behaviour has been designed and fixed twice now and is entirely undocumented — a repo-wide grep finds no reference to #4438 in docs/, and the multi-tenancy and durability pages do not cover it.
This is the behaviour worth writing down, all of it current on main after #4658:
A failure writing to a tenant database is tenant-scoped (TenantedInboxWriteException with IncludesMainStore: false). Those envelopes are deferred back to the broker and the listener keeps running for every other tenant.
A failure that reached the main store pauses the listener for inbox recovery, because nothing can be persisted at all.
That pause is indefinite. Nothing resumes a listener except InboxHealthRestarter's probe, which retries on a 2s → ×1.5 → 30s back-off, forever. Worth saying plainly, because "paused" reads as temporary.
Activity
GH-4660: document what happens when one tenant's database is down (#4679
GH-4659: document the two exceptions an operator will actually see
GH-4659: a per-tenant write brake stops the deferral spin (#4678)
GH-4658: a tenant-only inbox failure no longer pauses the listener wh…
jeremydmiller commentedon Sep 30, 2026
Shipped in Wolverine 6.42.0 — thanks for reporting this.
The release notes describe what changed and, where a fix alters behaviour, what to watch for on upgrade.