-
Notifications
You must be signed in to change notification settings - Fork 329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data corruption when copying big file through python API copy_object #1415
Comments
compose_object should handle it transparently? (in here Line 1362 in e10196f
or should a hard exception be raised instead of copying data and corrupting the copy? Line 1268 in e10196f
or it it a bug in |
In a multipart what are the final parts matter since server doesn't know the whole of the object. Can you share a proper reproducer? |
@mat-gas Enable |
logs from problem probably comes from byte-range in part2+ which starts again at 0 instead of being at 5 Gib+ PUT /temp/test-upload4?partNumber=2.. X-Amz-Copy-Source-Range: bytes=0-1073741862
|
Fixes minio#1415 Signed-off-by: Bala.FA <bala@minio.io>
@balamurugana confirmed the fix solves the issue could you release a new version of the package on pypi with this fix please? anyway, thanks for the quick fix! |
v7.2.7 is released. |
We have ISO files stored on our minio server that were uploaded years ago
Those are heavily chunked (8 MiB parts)
When copying one of those ISO to another bucket, the new file is corrupted (size differs and 2nd chunk is a copy of the first one, albeit the size)
example with
Win10_22H2_English_x64.iso (size 6115186688 , md5 68c70d7ade5e9ab8510876c1f4bee58a)
copy with python minio API
download again, file is corrupted:
original file at offset 0x8000, we can see
xCD001
...and in corrupted file, second chunk (that starts at offset 0x14000001 , we can see at offset 0x8000 after that we have the same data)
When using
mc cp
, the problem does not appear (file is still OK).mc cp s3/vms/iso/Win10_22H2_English_x64.iso s3/temp/copy-win10-2
When looking at the xl.meta file, we can see that it's chunked differently (lots of 500 MiB chunks instead of 2 chunks (1 very big and 1 small))
xl.meta of original file (Win10_22H2_English_x64.iso)
xl.meta of copy file through python package
xl.meta from "mc cp" (size os good, file is OK)
Your Environment
minio RELEASE.2024-03-30T09-41-56Z
python minio package 7.2.5
The text was updated successfully, but these errors were encountered: