feat
BREAKING
task/mpack-phase2-apply-writes-pack
#1 / 1
feat: apply_mpack writes MPack pack file instead of loose objects (issue #70 Phase 2)
Wire-received objects now land in a single .mpack + .idx file pair via write_pack() — 2 file writes regardless of object count.
Eliminates the XL clone hang caused by 14,000 individual write_object() calls (~1ms each on macOS = 14s+ of syscall overhead).
Integrity checks (dedup, size cap, content/ID hash) still run per-object before collecting into the pack list — all safety invariants preserved. has_object() is used to skip already-present objects so the pack never stores duplicates. Commits and snapshots still write to their own dirs.
PF-2 test updated: patches write_pack instead of write_object.
sha256:dedbc830bb9742683245ab1e59b29883aa01c889ff600f075c27420b10e6207a
sha
+40
~3
−1
symbols
sha256:7785dafbdbc374dd5639baf43437efb3460582faa537ed58f63fa80364538b26
snapshot
+40
symbols added
~3
symbols modified
−1
symbol removed
0
dead code introduced
Semantic Changes
44 symbols
+
test_apply_mpack_result_counts_objects_written
method
method test_apply_mpack_result_counts_objects_written L148–153
+
test_commits_still_written_to_commits_dir
method
method test_commits_still_written_to_commits_dir L126–131
+
test_objects_readable_via_read_object
method
method test_objects_readable_via_read_object L112–117
+
test_snapshots_still_written_to_snapshots_dir
method
method test_snapshots_still_written_to_snapshots_dir L133–138
+
test_writes_exactly_one_pack_and_one_idx
method
method test_writes_exactly_one_pack_and_one_idx L102–110
+
test_xl_objects_produce_two_files_not_thousands
method
method test_xl_objects_produce_two_files_not_thousands L140–146
+
test_empty_objects_list_writes_no_pack
method
method test_empty_objects_list_writes_no_pack L248–252
+
test_oserror_on_write_pack_aborts_cleanly
method
method test_oserror_on_write_pack_aborts_cleanly L206–218
+
test_oversized_object_tracked_as_failed
method
method test_oversized_object_tracked_as_failed L235–246
+
test_poisoned_object_skips_its_snapshot_and_commit
method
method test_poisoned_object_skips_its_snapshot_and_commit L173–204
← Older
Oldest on task/mpack-phase2-apply-writes-pack
All commits
Newer →
Latest on task/mpack-phase2-apply-writes-pack
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:dedbc830bb9742683245ab1e59b29883aa01c889ff600f075c27420b10e6207a --body "your comment"
No comments yet. Be the first to start the discussion.