Skip to content

fix: use multipart-aware put for transaction file writes#6750

Merged
jackye1995 merged 3 commits into
lance-format:mainfrom
jackye1995:jack/fix-multipart-upload-size
May 13, 2026
Merged

fix: use multipart-aware put for transaction file writes#6750
jackye1995 merged 3 commits into
lance-format:mainfrom
jackye1995:jack/fix-multipart-upload-size

Conversation

@jackye1995
Copy link
Copy Markdown
Contributor

@jackye1995 jackye1995 commented May 12, 2026

Summary

  • write_transaction_file was calling object_store.inner.put() directly, which issues a single S3 PUT request. S3 has a 5GB hard limit on single PUT, so large transaction files (>5GB) fail with EntityTooLarge.
  • Changed to use Lance's ObjectStore::put() which routes through ObjectWriter and handles multipart uploads automatically.

Such big transaction file is definitely not recommended, but after all this is indeed a bug in the code itself.

Resolves lance-format/lance-spark#526

Transaction files were written using the raw object_store put() which
issues a single PUT request. S3 has a 5GB limit on single PUT, so
large transactions (>5GB) fail with EntityTooLarge. Use Lance's
ObjectStore::put() which routes through ObjectWriter and handles
multipart uploads automatically.

Resolves lance-format/lance-spark#526
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@github-actions github-actions Bot added the bug Something isn't working label May 12, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 13, 2026

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
rust/lance/src/io/commit.rs 0.00% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@jackye1995 jackye1995 merged commit 39274cf into lance-format:main May 13, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[S3 ISSUE] Your proposed upload exceeds the maximum allowed size

2 participants