Refreshed origin/main and reviewed branch alex.leake/feat/vxdata-multipart-upload from base d2ab806ccdc33997124ba50c1d30cf2c0e0362db to head 350b1823f0b1a8092130846074f3993963bf4fe1.
Published Review 08dc361a-450d-4c92-a3a4-8f7ddea73311, titled Parallel multipart uploads, and opened it in Review Desktop.
Explained the fixed upload wire policy, API-owned multipart lifecycle, direct client-to-S3 part transfer, retry and URL-refresh behavior, ETag checks, and failure cleanup.
Recorded reviewer caveats: multi-file uploads are not atomic; abort cleanup depends on an incomplete-multipart bucket lifecycle rule; MD5 ETag verification depends on backend behavior; and the tests use stubs rather than a real S3 or Ceph integration.
Confirmed targeted test results from the pinned head: 10 SDK upload tests and 15 API storage-service tests passed.
Published healthy base and head software maps after both review map check commands passed. The Review is now awaiting-review.
Lessons Learned: Pitfalls
The implementation spec describes batch failure cleanup but can imply stronger atomicity than the code provides. Completed single PUTs remain after another file in the same call fails.
The upload integrity claim needs qualification. Missing or non-MD5-shaped ETags are accepted, so verification is conditional on storage configuration.
The dev-review workflow required local devfast.prepare setup. bun install --frozen-lockfile is the correct root preparation command for this monorepo.
Lessons Learned: Improvements
Document partial multi-object failure semantics in the VxData storage upload specification and SDK user documentation.
Verify and document the production bucket rule that expires incomplete multipart uploads.
Add integration coverage against a real S3-compatible service for lifecycle operations, abort failure, completion failure, and direct-S3 multipart mode.