fix: use snap_map manifest for all_oids in wire_fetch_mpack to fix missing blobs on clone
manifest_blob may have null OIDs for files pushed after the snapshot was indexed. raw manifest_blob was used to build all_oids (the set of blob OIDs to fetch and pack), silently dropping those entries via the 'if v' filter.
snap_map['manifest'] is always correct — _snap_row_to_wire_s3 validates manifest_blob against its snapshot_id hash and reconstructs from the delta chain when it doesn't reproduce. Using it for all_oids ensures every blob the client expects is actually included in the mpack.
The BLOB-DEBUG instrumentation (entry_count_db vs entry_count_blob vs snap_map_manifest_size vs all_oids) stays in place to confirm the fix on staging.
sha256:3123c7e922b2a126d862b37b298327c5dca32d4526c61719e50bca5a3e30a5e9
sha
~1
symbols
sha256:4624b08747d9be1d1d3558b46c7338d33598d94136526aad17412c2efb96afbf
snapshot
~1
symbol modified
0
dead code introduced
Semantic Changes
1 symbol
Older
merge: rescue snapshot-recovery hardening (c00aa21d) into dev al…
sha256:4669620efda9ff41c55bdefd1f7bfe1c239d468428744c84ead9957e5a003a53
All commits
Newer
fix: reject manifest_blob with null OIDs in _cached_manifest_rep…
sha256:d791fb5725be314a5577b45842acdbf178bc16f6a7000a23a213f0c94eb9525b
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:3123c7e922b2a126d862b37b298327c5dca32d4526c61719e50bca5a3e30a5e9 --body "your comment"
No comments yet. Be the first to start the discussion.