Bug
Uploading a 135 GB file with put() and multipart: true fails at part 10,001 with:
Root cause
partSizeInBytes is hardcoded to 8 * 1024 * 1024 (8 MB) in packages/blob/src/multipart/upload.ts. Since the Blob API enforces a maximum of 10,000 parts per upload, the effective file size ceiling is:
8 MB × 10,000 = 80 GB
This contradicts the changelog which states multipart uploads support files up to 5 TB.
Environment
@vercel/blob v2.3.3
- Node.js, server-side
put() with multipart: true
- File: 135 GB (Protomaps planet PMTiles)
Suggested fix
Auto-scale partSizeInBytes based on known file size, similar to how the AWS S3 SDK handles this:
const minPartSize = 8 * 1024 * 1024 // 8 MB
const partSizeInBytes = Math.max(minPartSize, Math.ceil(totalBytes / 9_999))
Bug
Uploading a 135 GB file with
put()andmultipart: truefails at part 10,001 with:Root cause
partSizeInBytesis hardcoded to8 * 1024 * 1024(8 MB) inpackages/blob/src/multipart/upload.ts. Since the Blob API enforces a maximum of 10,000 parts per upload, the effective file size ceiling is:8 MB × 10,000 = 80 GB
This contradicts the changelog which states multipart uploads support files up to 5 TB.
Environment
@vercel/blobv2.3.3put()withmultipart: trueSuggested fix
Auto-scale
partSizeInBytesbased on known file size, similar to how the AWS S3 SDK handles this: