Upload of big files (> 5Gb) to UC Volumes using multipart chunking#1621
Upload of big files (> 5Gb) to UC Volumes using multipart chunking#1621alexott wants to merge 9 commits into
Conversation
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 15 days if no further activity occurs. If this PR is still relevant, please leave a comment or push new changes to keep it open. Thank you for your contributions. |
…tipart upload Signed-off-by: Alex Ott <alexey.ott@databricks.com>
…rts, complete) Co-authored-by: Isaac Signed-off-by: Alex Ott <alexey.ott@databricks.com>
…FromFile Signed-off-by: Alex Ott <alexey.ott@databricks.com>
Best-effort abort of incomplete multipart uploads when a part upload fails, preventing orphaned upload sessions on the server. Signed-off-by: Alex Ott <alexey.ott@databricks.com>
Signed-off-by: Alex Ott <alexey.ott@databricks.com>
- Fix URL expiration retry to fetch fresh presigned URLs instead of retrying the same expired URL - Remove total http.Client timeout that would kill large part uploads; rely on context cancellation instead - Add context cancellation checks in the main upload loop - Extract partUploadError type for structured error handling Signed-off-by: Alex Ott <alexey.ott@databricks.com>
…est coverage Address review feedback: expose upload methods via FilesInterface, fall back to single-shot upload when the first multipart chunk fails, validate contentLength matches actual bytes read, and add tests for all new paths. Co-authored-by: Isaac
Signed-off-by: Alex Ott <alexey.ott@databricks.com>
05dc9ac to
cdbdc26
Compare
|
@chrisst - that would be useful for TF integration |
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 15 days if no further activity occurs. If this PR is still relevant, please leave a comment or push new changes to keep it open. Thank you for your contributions. |
|
If integration tests don't run automatically, an authorized user can run them manually by following the instructions below: Trigger: Inputs:
Checks will be approved automatically on success. |
Summary
Implement upload of big files (> 5Gb) to UC Volumes using multipart chunking. That functionality already exists in Python SDK, but is missing in the Go SDK.
It will require some modifications in the codegen to support new functionality
Why
databricks/terraform-provider-databricks#5521 is asking for support of big files, but Go SDK doesn't have this functionality
What changed
Interface changes
New functions are added to Files interface (requires codegen changes)
Behavioral changes
Internal changes
How is this tested?
Unit tests were added