Skip to content

audit F21 [robustness]: silent persistence-actor mailbox failures swallow OpenEventStore #621

@intendednull

Description

@intendednull

File: crates/client/src/lib.rs:789 and crates/client/src/joining.rs:167
Severity: robustness
Obvious? yes

Two boot-critical sites send persistence_actor::OpenEventStore { server_id } via do_send(...).ok() and discard the Result. do_send returns Err when the actor's mailbox is full, dropped, or shut down — meaning the event store silently never opens, persistence is dead, but ClientHandle proceeds as if everything is fine. The user loses message history on reload with no log line.

Fix: replace .ok() with .inspect_err(|e| tracing::warn!(?e, %server_id, "failed to send OpenEventStore to persistence actor")).ok(), or convert to ask().await since this happens once at boot and a queue full at startup is itself diagnostic.


Filed by /general-audit @ 88498a5 (2026-05-04). master: #600.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions