rclone: b2: Failed to set modification time: Copy source too big - need multipart copy
What is the problem you are having with rclone?
Am trying to set modification time on tow large files in our BackBlaze B2 bucket and it errors out. This is similar to a post I filed on the rclone support forum last fall (https://forum.rclone.org/t/failed-to-set-modification-time-copy-source-too-big-backblaze/12416). At that time, I was told to use a beta version and to use the clunker mode in my configuration file. It appeared to have fixed that. However, it returned just this month.
What is your rclone version (output from rclone version
)
root@rclone:~ # /usr/local/bin/rclone version rclone v1.51.0
- os/arch: freebsd/amd64
- go version: go1.13.7 root@rclone:~ #
Which OS you are using and how many bits (eg Windows 7, 64 bit)
FreeNAS 11.3-RELEASE-p6
Which cloud storage system are you using? (eg Google Drive)
BackBlaze B2
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
I run a script as follows:
#!/bin/sh
src=/mnt/storage
dest=b2-backup:DawnSign-0001
fold=FreeNAS
email=admin@example.com
log_level=INFO
log_time=date "+%Y%m%d_%H:%M"
log_path=/var/log
log_file=${log_path}/rclone-${log_time}.log
min_age=15m
b2_chunk_size=48M
transfers=20
#/usr/local/bin/rclone sync
/usr/bin/rclone sync
–copy-links
–fast-list
–exclude .DS_Store
–exclude-if-present .ignore
–min-age ${min_age}
–b2-chunk-size ${b2_chunk_size}
–transfers ${transfers}
–log-level ${log_level}
–log-file ${log_file}
${src} ${dest}/${fold} $@
rc=$?
if [ $rc != 0 ]; then touch /root/bin/B2-error-${log_time}.txt cat /root/bin/B2-error.txt > /root/bin/B2-error-${log_time}.txt cat ${log_file} >> /root/bin/B2-error-${log_time}.txt cat /root/bin/B2-error-${log_time}.txt | /usr/local/bin/mini_sendmail -fadmin@example.com -smail.example.com ${email}
else touch /root/bin/B2-success-${log_time}.txt cat /root/bin/B2-success.txt > /root/bin/B2-success-${log_time}.txt cat ${log_file} >> /root/bin/B2-success-${log_time}.txt cat /root/bin/B2-success-${log_time}.txt | /usr/local/bin/mini_sendmail -fadmin@example.com -smail.example.com ${email} fi
A log from the command with the -vv
flag (eg output from rclone -vv copy /tmp remote:tmp
)
Here’s a snippet of the error log:
2020/02/21 16:54:09 INFO : Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA - Errors: 0 Checks: 632429 / 640943, 99% Transferred: 0 / 0, - Elapsed time: 18m16s Checking:
- Signing Naturally/SN 2…l 2 Student Part 2.mov: checking
- Signing Naturally/SN L…l_1_Student_011119.mov: checking
2020/02/21 16:54:55 ERROR : Signing Naturally/SN Level 1/MOV/Signing_Naturally_Level_1_Student_011119.mov: Failed to set modification time: Copy source too big: 38922974256 (400 bad_request) 2020/02/21 16:55:02 ERROR : Signing Naturally/SN 2 & 3/SN 2/Signing Naturally Level 2 Student Part 2.mov: Failed to set modification time: Copy source too big: 40300155482 (400 bad_request) 2020/02/21 16:55:09 INFO : Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA - Errors: 2 (retrying may help) Checks: 661355 / 661355, 100% Transferred: 0 / 0, - Elapsed time: 19m9.5s
2020/02/21 16:55:30 INFO : B2 bucket DawnSign-0001 path FreeNAS: Waiting for checks to finish 2020/02/21 16:55:30 INFO : B2 bucket DawnSign-0001 path FreeNAS: Waiting for transfers to finish 2020/02/21 16:55:30 ERROR : B2 bucket DawnSign-0001 path FreeNAS: not deleting files as there were IO errors 2020/02/21 16:55:30 ERROR : B2 bucket DawnSign-0001 path FreeNAS: not deleting directories as there were IO errors 2020/02/21 16:55:30 ERROR : Attempt 3/3 failed with 3 errors and: not deleting files as there were IO errors 2020/02/21 16:55:30 Failed to sync with 3 errors: last error was: not deleting files as there were IO errors
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 23 (14 by maintainers)
Commits related to this issue
- b2: return error when trying to copy >= 5GB files before we fix #3991 — committed to rclone/rclone by ncw 4 years ago
- b2: Implement server side copy for files > 5GB - fixes #3991 This also reworks all the multipart uploading to use sync.Errgroup and memory pooling like the other backends. This makes it more memory e... — committed to rclone/rclone by ncw 4 years ago
- b2: Implement server side copy for files > 5GB - fixes #3991 This factors copy out of SetModTime and Copy so it can be called from both places. This also reworks all the multipart uploading to use s... — committed to rclone/rclone by ncw 4 years ago
- b2: Implement server side copy for files > 5GB - fixes #3991 This factors copy out of SetModTime and Copy so it can be called from both places. This also reworks all the multipart uploading to use s... — committed to mawaya/rclone by ncw 4 years ago
- b2: Implement server side copy for files > 5GB - fixes #3991 This factors copy out of SetModTime and Copy so it can be called from both places. This also reworks all the multipart uploading to use s... — committed to negative0/rclone by ncw 4 years ago
I just gave the B2 S3 compatible api a go - it works very well! You could use it to store data with rclone, however note that the method that rclone uses to store the modification time is different between the two so you can’t swap between the methods.
Thank you for testing
I’ve merged this to master now which means it will be in the latest beta in 15-30 mins and released in v1.53
I may put it in a v1.52.x release later but it needs some more user testing first as it is quite a big change.
I’ve had a go at fixing this here. This adds a new flag
--b2-copy-cutoff
- above this limit files will be server side copies in--b2-copy-cutoff
sized chunks. I set this quite conservatively to 4G but it might be quicker to set it lower. In my testing with copying 1GB ish files setting it to 100M made it quicker… So some experimentation with this value would be useful!I’ve also reworked the multipart transfer code - I think it is all working, but please report bugs!
https://beta.rclone.org/branch/v1.52.0-004-g257a890f-fix-3991-b2-copy-beta/ (uploaded in 15-30 mins)