mirror of
https://github.com/restic/restic.git
synced 2025-12-10 21:41:46 +00:00
28 lines
1.3 KiB
Plaintext
28 lines
1.3 KiB
Plaintext
Bugfix: Improve handling of download retries in `check` command
|
|
|
|
In very rare cases, the `check` command could unnecessarily report repository
|
|
damage if the backend returned incomplete, corrupted data on the first download
|
|
try which is afterwards resolved by a download retry.
|
|
|
|
This could result in an error output like the following:
|
|
|
|
```
|
|
Load(<data/34567890ab>, 33918928, 0) returned error, retrying after 871.35598ms: readFull: unexpected EOF
|
|
Load(<data/34567890ab>, 33918928, 0) operation successful after 1 retries
|
|
check successful on second attempt, original error pack 34567890ab[...] contains 6 errors: [blob 12345678[...]: decrypting blob <data/12345678> from 34567890 failed: ciphertext verification failed ...]
|
|
[...]
|
|
Fatal: repository contains errors
|
|
```
|
|
|
|
This fix only applies to a very specific case where the log shows
|
|
`operation successful after 1 retries` followed by a
|
|
`check successful on second attempt, original error` that only reports
|
|
`ciphertext verification failed` errors in the pack file. If any other errors
|
|
are reported in the pack file, then the repository still has to be considered
|
|
as damaged.
|
|
|
|
Now, only the check result of the last download retry is reported as intended.
|
|
|
|
https://github.com/restic/restic/issues/5467
|
|
https://github.com/restic/restic/pull/5495
|