fix: heal ghost objects in _store_batch — verify MinIO presence before skipping
_store_batch used a DB-only existence check to decide whether to PUT to MinIO. A ghost (DB row present, MinIO bytes absent) would be silently skipped on every future push, making it permanent.
Fix: call backend.exists() for each DB-present object before skipping. If storage says missing, treat it as new and issue the PUT — self-healing. Ghosts are rare in steady state so the extra HEAD requests are negligible.
Tests I5a (structural) and I5b (behavioural) pin the invariant.
sha256:6195ecc8910bbcf07ea5a8c313c3500389d907f3d687426adfdfc2c3f6c4063a
sha
sha256:28a49fb180be4fbdde0e924325dccce565f02b177ec150f15eeb50c35dbe8173
snapshot
Older
fix: use delta+zlib unconditionally — compute_delta always zlib-…
sha256:04d52bb30881302b41ea184ff56cde691b005a9114505ed7cec04f2759c8b16c
All commits
Newer
chore: delete ephemeral investigation and diagnosis docs
sha256:55c16e69f25f3359d7212bd83c8664068bbf05b4c2fff0ff0079c78b7a378ab3
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:6195ecc8910bbcf07ea5a8c313c3500389d907f3d687426adfdfc2c3f6c4063a --body "your comment"
No comments yet. Be the first to start the discussion.