Skip to content

Conversation

@klaudworks
Copy link
Contributor

@klaudworks klaudworks commented Nov 25, 2025

Summary

Problem

The azureblob-sdk multipart upload implementation (commit fb96699) broke the legacy azureblob provider by validating part numbers against the client's CompleteMultipartUpload XML request.

The azureblob provider uses synthetic part numbers (10_000 * partNumber + subPartNumber) to split large S3 parts into smaller Azure blocks. When the new validation logic looked up client-provided part numbers (1, 2, 3...) in a map containing Azure block numbers (10000, 10001...), no match was found, causing INVALID_PART errors.

Changes

  • handleCompleteMultipartUpload: Restore azureblob to its original simple iteration logic; azureblob-sdk retains the new XML parsing + validation path
  • handleListParts: Scope the /10_000 part-number aggregation to azureblob only, allowing azureblob-sdk to use direct part numbers. This bug did not surface yet because usually this is not used.

This ensures the new azureblob-sdk implementation does not affect the deprecated azureblob provider and the azureblob part-number magic does not affect the new azureblob-sdk provider.

Separate multipart completion logic for azureblob and azureblob-sdk providers.
The new azureblob-sdk validation path introduced in 2.9.0 inadvertently broke
the legacy azureblob provider by validating part numbers against client requests,
while azureblob uses synthetic part numbers (divided by 10000).

Changes:
- handleCompleteMultipartUpload: azureblob uses simple listMultipartUpload iteration,
  while azureblob-sdk validates and deduplicates parts from XML request
- handleListParts: scope the part-number aggregation to azureblob only

Fixes multipart upload failures for files >5.2MB with azureblob provider.
@gaul gaul merged commit 436ca99 into gaul:master Nov 25, 2025
3 checks passed
@gaul
Copy link
Owner

gaul commented Nov 25, 2025

Thank you for your contribution @klaudworks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Uploading files >5.2mb to Azure Blob Storage fails since 2.9.0 release

2 participants