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

Most upvoted comments

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)