Skip to main content
Version: 0.0.0 (Beta)

Error Handling & Failure Modes

This section defines what failures mean and how EchoPost behaves.

Main server unavailable​

  • EchoPost starts.
  • All incoming data is buffered locally.
  • No data is dropped.

Main server becomes available​

  • Replay starts automatically.
  • Data is replayed in order.
  • Successfully replayed records are deleted.

EchoPost crash​

  • No buffered data is deleted.
  • On restart, EchoPost resumes from existing storage.

Replay failure​

  • Failed records are retried.
  • Replay continues until success or shutdown.

Disk full​

  • New data cannot be accepted.
  • This is treated as a fatal condition.
  • Errors are surfaced through logs.

Storage corruption (definition)​

Storage corruption means one or more of the following:

  • PebbleDB cannot be opened.
  • Stored records cannot be decoded.
  • On-disk data fails checksum or integrity checks.

This does not include:

  • Process crashes
  • Power loss
  • Partial replay

Behavior on storage corruption​

  • EchoPost cannot guarantee recovery.
  • Replay is aborted.
  • Manual intervention is required.

This scenario is expected to be extremely rare.