when using --immutable and there is some difference between source and dest, rclone should not keep retrying over and over.
there is no point in re-trying, as no changes can be made
in addition, rclone keeps using api calls to re-check md5 and so on.
also, rclone should not raise an error in this case, as there is no error.
makes it difficult to parse the logs files for real errors.
here is a debug log of it
DEBUG : rclone: Version "v1.53.3" starting with parameters ["C:\\data\\rclone\\scripts\\rclone.exe" "copy" "b:\\mount\\rcloner\\kdbx_quick_wasabi_copy_20201226.175628\\data\\u\\keepass\\database" "wasabi01:en07copy/kdbx/rclone/backup" "--stats=0" "--fast-list" "--immutable" "--log-level=DEBUG" "--log-file=C:\\data\\rclone\\logs\\kdbx_quick_wasabi_copy\\20201226.175628\\rclone.log"]
DEBUG : Creating backend with remote "b:\\mount\\rcloner\\kdbx_quick_wasabi_copy_20201226.175628\\data\\u\\keepass\\database"
DEBUG : Using config file from "C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : fs cache: renaming cache item "b:\\mount\\rcloner\\kdbx_quick_wasabi_copy_20201226.175628\\data\\u\\keepass\\database" to be canonical "//?/b:/mount/rcloner/kdbx_quick_wasabi_copy_20201226.175628/data/u/keepass/database"
DEBUG : Creating backend with remote "wasabi01:en07copy/kdbx/rclone/backup"
DEBUG : 01.kdbx: Sizes differ (src 321486 vs dst 321502)
ERROR : 01.kdbx: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for checks to finish
DEBUG : 01.key: Modification times differ by 1h0m0.000328s: 2019-07-06 16:16:51.017 -0400 EDT, 2019-07-06 17:16:51.017328 -0400 EDT
DEBUG : 01.key: MD5 = c1d5ac68140e11a2468bb42d1d02d10e OK
ERROR : 01.key: StartedAt mismatch between immutable objects
ERROR : 01.key: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for transfers to finish
INFO : There was nothing to transfer
ERROR : Attempt 1/3 failed with 1 errors and: immutable file modified
DEBUG : 01.kdbx: Sizes differ (src 321486 vs dst 321502)
ERROR : 01.kdbx: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for checks to finish
DEBUG : 01.key: Modification times differ by 1h0m0.000328s: 2019-07-06 16:16:51.017 -0400 EDT, 2019-07-06 17:16:51.017328 -0400 EDT
DEBUG : 01.key: MD5 = c1d5ac68140e11a2468bb42d1d02d10e OK
ERROR : 01.key: StartedAt mismatch between immutable objects
ERROR : 01.key: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for transfers to finish
INFO : There was nothing to transfer
ERROR : Attempt 2/3 failed with 1 errors and: immutable file modified
DEBUG : 01.kdbx: Sizes differ (src 321486 vs dst 321502)
ERROR : 01.kdbx: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for checks to finish
DEBUG : 01.key: Modification times differ by 1h0m0.000328s: 2019-07-06 16:16:51.017 -0400 EDT, 2019-07-06 17:16:51.017328 -0400 EDT
DEBUG : 01.key: MD5 = c1d5ac68140e11a2468bb42d1d02d10e OK
ERROR : 01.key: StartedAt mismatch between immutable objects
ERROR : 01.key: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for transfers to finish
INFO : There was nothing to transfer
ERROR : Attempt 3/3 failed with 1 errors and: immutable file modified
INFO :
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Errors: 1 (retrying may help)
Checks: 6 / 6, 100%
Elapsed time: 0.4s
DEBUG : 4 go routines active
Failed to copy: immutable file modified
there are four ERRORS and a summary Errors in the log, yet there are no actual errors.
it is very useful that rclone notices a difference between the source and dest. my script is going to scan for that log entry and notify me.
please, can you
change the ERRORS to NOTICE
remove the summary Errors
remove Failed to copy: immutable file modified if INFO : There was nothing to transfer, as this is a false positive.
DEBUG : 01.kdbx: Sizes differ (src 322926 vs dst 321502)
ERROR : 01.kdbx: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for checks to finish
DEBUG : 01.key: Modification times differ by 1h0m0.000328s: 2019-07-06 16:16:51.017 -0400 EDT, 2019-07-06 17:16:51.017328 -0400 EDT
DEBUG : 01.key: MD5 = c1d5ac68140e11a2468bb42d1d02d10e OK
ERROR : 01.key: StartedAt mismatch between immutable objects
ERROR : 01.key: Source and destination exist but do not match: immutable file modified
DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for transfers to finish
INFO : There was nothing to transfer
ERROR : Can't retry this error - not attempting retries
INFO :
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Errors: 1 (no need to retry)
Checks: 2 / 2, 100%
Elapsed time: 0.5s
DEBUG : 4 go routines active
Failed to copy: immutable file modified
It looks like rclone counted the number of errors wrong! I've fixed that now.
I think that has got to stay an ERROR. The user asked for something to be transferred and rclone couldn't do it - that needs to be reported as an ERROR with a non-zero exit code.
I think that will need to stay as we counted errors
Yes that is wrong. I fixed that now so that it only prints the message if there was nothing to transfer and there were no errors.
however, i still do not understand why this is an error 2020/12/30 13:16:57 ERROR : 01.kdbx: Source and destination exist but do not match: immutable file modified
as per docs,
" Use copy --immutable if it is desired to avoid deletion as well as modification."
with my command, i explicitly set --immutable, that means i desire for rclone to avoid modification of the file.
the fact that the rclone notices a difference between source and dest is not an error; just something that should be logged as that is very useful info.
as i mentioned i do not consider this an error but why are there two errors, not one error?
2020/12/30 14:04:41 ERROR : 01.key: StartedAt mismatch between immutable objects
2020/12/30 14:04:41 ERROR : 01.key: Source and destination exist but do not match: immutable file modified
again, not sure why this is an error but no matter what you choose to call it, perhaps it could be more descriptive 2020/12/30 14:02:19 ERROR : Can't retry this error - not attempting retries
could be 2020/12/30 14:02:19 ERROR : Can't retry this error - not attempting retries - due to --immutable
2020/12/30 14:02:19 DEBUG : rclone: Version "v1.54.0-beta.5023.b5a1586ae.fix-immutable-retry" starting with parameters ["c:\\data\\rclone\\versions\\rclone-v1.54.0-beta.5023.b5a1586ae.fix-immutable-retry-windows-amd64\\rclone-v1.54.0-beta.5023.b5a1586ae.fix-immutable-retry-windows-amd64.exe" "copy" "b:\\mount\\rcloner\\kdbx_quick_wasabi_copy_20201229.134231\\data\\u\\keepass\\database" "wasabi01:en07copy/kdbx/rclone/backup" "--stats=0" "--fast-list" "--immutable" "--log-level=DEBUG" "--log-file=C:\\data\\rclone\\logs\\kdbx_quick_wasabi_copy\\20201229.134231\\rclone.log"]
2020/12/30 14:02:19 DEBUG : Creating backend with remote "b:\\mount\\rcloner\\kdbx_quick_wasabi_copy_20201229.134231\\data\\u\\keepass\\database"
2020/12/30 14:02:19 DEBUG : Using config file from "C:\\data\\rclone\\scripts\\rclone.conf"
2020/12/30 14:02:19 DEBUG : fs cache: renaming cache item "b:\\mount\\rcloner\\kdbx_quick_wasabi_copy_20201229.134231\\data\\u\\keepass\\database" to be canonical "//?/b:/mount/rcloner/kdbx_quick_wasabi_copy_20201229.134231/data/u/keepass/database"
2020/12/30 14:02:19 DEBUG : Creating backend with remote "wasabi01:en07copy/kdbx/rclone/backup"
2020/12/30 14:02:19 DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for checks to finish
2020/12/30 14:02:19 DEBUG : 01.kdbx: Sizes differ (src 323182 vs dst 321502)
2020/12/30 14:02:19 ERROR : 01.kdbx: Source and destination exist but do not match: immutable file modified
2020/12/30 14:02:19 DEBUG : 01.key: Modification times differ by 1h0m0.000328s: 2019-07-06 16:16:51.017 -0400 EDT, 2019-07-06 17:16:51.017328 -0400 EDT
2020/12/30 14:02:19 DEBUG : 01.key: MD5 = c1d5ac68140e11a2468bb42d1d02d10e OK
2020/12/30 14:02:19 ERROR : 01.key: StartedAt mismatch between immutable objects
2020/12/30 14:02:19 ERROR : 01.key: Source and destination exist but do not match: immutable file modified
2020/12/30 14:02:19 DEBUG : S3 bucket en07copy path kdbx/rclone/backup: Waiting for transfers to finish
2020/12/30 14:02:19 DEBUG : test.txt: MD5 = d41d8cd98f00b204e9800998ecf8427e OK
2020/12/30 14:02:19 INFO : test.txt: Copied (new)
2020/12/30 14:02:19 ERROR : Can't retry this error - not attempting retries
2020/12/30 14:02:19 INFO :
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Errors: 2 (no need to retry)
Checks: 2 / 2, 100%
Transferred: 1 / 1, 100%
Elapsed time: 0.5s
2020/12/30 14:02:19 DEBUG : 6 go routines active
2020/12/30 14:02:19 Failed to copy with 2 errors: last error was: immutable file modified
--ignore-existing Skip all files that exist on destination
Instead of --immutable? --immutable is designed for compliance reasons where you should never be modifying stuff you've already uploaded, hence the error. --ignore-existing should calmly skip existing stuff with no error.
It looks like it got changed by accident. It should read ERROR : 01.key: Timestamp mismatch between immutable objects which makes a whole lot more sense! I'll change it back.
I've merged those little fixes to --immutable we made which is nice - thank you
i was not sure if you uploaded a new set of beta files.
so i re-downloaded the same beta and in testing, did not see a difference from the last beta download.
did i download the wrong file or did you not update the beta yet?
perhaps this error message could be more descriptive ERROR : Can't retry this error - not attempting retries
could be ERROR : Not attempting retries due to --immutable
Hmm... I suppose what it is saying is "There were 1 or more errors, but none of the errors can be retried, so not doing any retries". We could print the last error, but we get that in just a moment
2021/01/01 16:37:01 ERROR : Can't retry this error - not attempting retries
2021/01/01 16:37:01 INFO :
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Errors: 3 (no need to retry)
Checks: 3 / 3, 100%
Elapsed time: 0.0s
2021/01/01 16:37:01 DEBUG : 3 go routines active
2021/01/01 16:37:01 Failed to sync with 3 errors: last error was: immutable file modified
Maybe a better wording would be Can't retry any of the errors - not attempting retries - what do you think?
well, i think that rclone should be clear as to why there will not be any retries, as the normal rclone behavior is to retry. whatever you think is best.
the combination of aws s3 sse-c encryption and --immutable is huge for me.
really looking forward to v1.54.0.