1
mirror of https://github.com/rclone/rclone synced 2024-11-26 04:07:22 +01:00
rclone/backend/azureblob
Nick Craig-Wood 03295bbc3c azureblob: fix data corruption bug #7590
It was reported that rclone copy occasionally uploaded corrupted data
to azure blob.

This turned out to be a race condition updating the block count which
caused blocks to be duplicated.

This bug was introduced in this commit in v1.64.0 and will be fixed in v1.65.2

0427177857 azureblob: implement OpenChunkWriter and multi-thread uploads #7056

This race only seems to happen if `--checksum` is used but can happen otherwise.

Unfortunately Azure blob does not check the MD5 that we send them so
despite sending incorrect data this corruption is not detected. The
corruption is detected when rclone tries to download the file, so
attempting to copy the files back to local disk will result in errors
such as:

    ERROR : file.pokosuf5.partial: corrupted on transfer: md5 hash differ "XXX" vs "YYY"

This adds a check to test the blocklist we upload is as we expected
which would have caught the problem had it been in place earlier.
2024-01-24 11:28:05 +00:00
..
azureblob_internal_test.go azureblob: fix data corruption bug #7590 2024-01-24 11:28:05 +00:00
azureblob_test.go azureblob: add support cold tier 2023-10-18 17:54:25 +01:00
azureblob_unsupported.go build: update to go1.21rc3 and make go1.19 the minimum required version 2023-07-16 10:09:25 +01:00
azureblob.go azureblob: fix data corruption bug #7590 2024-01-24 11:28:05 +00:00