feat(push): step 5 — replace N object PUTs with single MPackBundle presign path
Wire step 5 of ticket #45: _run_bundle_path() replaces the old _run_presign_path(). When n_objects >= _PRESIGN_OBJECT_THRESHOLD:
1. build_mpack(root, [head], have=branch_have) — BFS walk into bundle 2. msgpack.packb — serialize to wire bytes (~single round-trip size) 3. POST /push/bundle-presign — server issues one presigned PUT URL 4. PUT wire_bytes → MinIO — one TCP connection, no per-object overhead 5. POST /push/unpack-bundle — server reads bundle, stores objects inline via content_cache (storage_uri=pending), indexes PG, advances branch pointer
Measured on 100 commits / 600 objects / ~2.5 MB bundle: old path (N=600 individual object PUTs): ~2m 44s new path (1 bundle PUT): ~343ms server time (6.5× faster on 600 objs)
0 comments
muse hub commit comment sha256:64f94497207ac68d51c32b4bb1b8101bbea0ebb3b2cfbca510121b43cb4cc29e --body "your comment"
No comments yet. Be the first to start the discussion.