restic/internal
Michael Eischer 98709a4372 retry: reduce total number of retries
Retries in restic try to solve two main problems:
- retry a temporarily failed operation
- tolerate temporary network interruptions

The first problem only requires a few retries, whereas the last one benefits
primarily from spreading the requests over a longer duration.

Increasing the default multiplier and the initial interval works for
both cases. The first few retries only take a few seconds, while later
retries quickly reach the maximum interval of one minute. This ensures
that the total number of retries issued by restic will remain at around
21 retries for a 15 minute period. As the concurrency in restic is
bounded, retries drastically reduce the number of requests sent to a
backend. This helps to prevent overloading the backend.
2024-05-24 20:24:02 +02:00
..
archiver remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00
backend retry: reduce total number of retries 2024-05-24 20:24:02 +02:00
bloblru bloblru: add test for GetOrCompute 2024-05-05 12:00:25 +02:00
cache cache: cleanup debug logs 2024-05-18 21:28:54 +02:00
checker Replace some repo.RemoveUnpacked usages 2024-05-18 21:42:51 +02:00
crypto replace "too small" with "too short" in error messages 2024-05-18 19:59:26 +02:00
debug Fix review comments 2024-04-29 16:21:38 -06:00
dump dump: add GetOrCompute to bloblru cache 2024-05-05 11:38:42 +02:00
errors Add changelog and fix lint error 2024-02-24 13:47:49 -07:00
feature Use generic backend-error-redesign feature flag instead of http-timeouts 2024-05-18 19:54:52 +02:00
filter remove no longer necessary conditional compiles 2022-11-27 13:18:44 +01:00
fs Fix review comments 2024-05-06 16:54:08 -06:00
fuse fuse: switch to use bloblru.GetOrCompute 2024-05-05 11:38:42 +02:00
hashing Replace most usages of ioutil with the underlying function 2022-12-02 19:36:43 +01:00
index replace some uses of restic.Repository with finegrained interfaces 2024-05-18 21:42:51 +02:00
migrations remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00
options backend, options: Prefer strings.Cut to SplitN 2022-12-02 19:19:14 +01:00
pack replace "too small" with "too short" in error messages 2024-05-18 19:59:26 +02:00
repository replace some uses of restic.Repository with finegrained interfaces 2024-05-18 21:42:51 +02:00
restic replace some uses of restic.Repository with finegrained interfaces 2024-05-18 21:42:51 +02:00
restorer Merge pull request #4705 from MichaelEischer/snapshot-statistics 2024-03-28 22:41:45 +01:00
selfupdate Replace lots of unused parameters with _ 2023-05-18 21:17:53 +02:00
test use consistent alias for interal/test package 2024-03-29 00:24:03 +01:00
textfile Replace most usages of ioutil with the underlying function 2022-12-02 19:36:43 +01:00
ui ui/progress: add helper to print messages during tests 2024-04-14 13:45:08 +02:00
walker Fix struct names 2024-04-18 10:02:09 +08:00