fabro/lib/apps/fabro-server
Scott Werner 5629dcd7d0 Make snapshot and backup publication durable across power loss
Neither the pre-activation backup nor the pre-migration snapshot fsynced
the staged file contents or the parent directory around the publishing
rename. A crash after the import committed could lose the retained
'.pre-blob-activation.bak' (whose directory entry was never made
durable), and the next activation would then write a new backup that
already contains the imported blobs, silently breaking the documented
pre-activation rollback boundary; a torn staging file could likewise
wedge later boots in backup validation.

write_snapshot_to_staging now syncs the staged file before handing it to
the caller, and both publishers sync the destination's parent directory
after their rename (fabro-db on a blocking task, activation inside its
existing blocking publication task).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 14:02:35 -04:00
..
migrations refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
src Make snapshot and backup publication durable across power loss 2026-08-24 14:02:35 -04:00
tests Simplify blob activation and share the test store fixture 2026-08-24 14:02:35 -04:00
build.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
Cargo.toml Forward fabro-store/test-support through dependent test-support features 2026-08-24 14:02:35 -04:00