Files
restic/changelog/unreleased/issue-5467

28 lines
1.3 KiB
Plaintext
Raw Normal View History

Bugfix: Improve handling of download retries in `check` command
In very rare cases, the `check` command could unnecessarily report a
repository damage if the backend returns incomplete, corrupted data on
the first download try which is resolved by a download retry.
2025-09-08 11:54:29 +02:00
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. The required condition is
a `operation successful after 1 retries` error in the log, later followed by
a `check successful on second attempt, original error` 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