• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

nbari / backup / 27130690190

08 Jun 2026 10:10AM UTC coverage: 78.559% (+1.1%) from 77.486%
27130690190

push

github

nbari
run: interrupted-run safety (version completion flag) + fix orphan blob reuse

Two fixes for the cancel/re-run scenario:

- Correctness: LocalStore.put now OVERWRITES (atomic temp+rename) instead of
  skipping when the object exists. An interrupted run can leave an orphan blob
  (no Files row) encrypted with a now-lost key; since dedup is gated by the
  catalog (is_stored), put is only called for content that must be (re)written,
  so a re-run re-keys and overwrites it — the stored blob always matches the
  recorded key. (Previously the stale orphan was kept -> restore would fail.)

- Completion flag: BackupVersions gains completed_at, stamped in the same
  transaction as the metadata write (so complete == metadata committed AND all
  blobs stored, since uploads run first). latest_version() returns only completed
  versions, so view shows the last completed snapshot and ignores an interrupted
  one (clear 'no completed snapshot yet' message). Idempotent ALTER+backfill
  migration for existing catalogs.

Tests: orphan-overwrite e2e, latest_version completeness, put overwrite; manual
cancel/re-run smoke verified. 70 tests passing.

89 of 107 new or added lines in 4 files covered. (83.18%)

150 existing lines in 6 files now uncovered.

2759 of 3512 relevant lines covered (78.56%)

7.6 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

91.44
/src/db/sqlite.rs


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc