restic/internal/backend
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
..
azure azure: deduplicate cli and default credentials case 2024-05-18 22:15:54 +02:00
b2 backend: remove unused Location method 2024-05-18 21:38:31 +02:00
dryrun backend: remove unused Location method 2024-05-18 21:38:31 +02:00
gs backend: remove unused Location method 2024-05-18 21:38:31 +02:00
layout Deprecate s3legacy layout 2024-04-10 21:27:56 +02:00
limiter CI: enable bodyclose linter 2024-01-19 21:17:18 +01:00
local backend: remove unused Location method 2024-05-18 21:38:31 +02:00
location move Backend interface to backend package 2023-10-25 23:00:18 +02:00
logger move Backend interface to backend package 2023-10-25 23:00:18 +02:00
mem backend: remove unused Location method 2024-05-18 21:38:31 +02:00
mock backend: remove unused Location method 2024-05-18 21:38:31 +02:00
rclone Fix linter errors (except for tests) 2024-02-10 22:58:10 +01:00
rest backend: remove unused Location method 2024-05-18 21:38:31 +02:00
retry retry: reduce total number of retries 2024-05-24 20:24:02 +02:00
s3 backend: remove unused Location method 2024-05-18 21:38:31 +02:00
sema move Backend interface to backend package 2023-10-25 23:00:18 +02:00
sftp backend: remove unused Location method 2024-05-18 21:38:31 +02:00
swift backend: remove unused Location method 2024-05-18 21:38:31 +02:00
test backend: remove unused Location method 2024-05-18 21:38:31 +02:00
testdata Moves files 2017-07-23 14:19:13 +02:00
util backend: move LimitReadCloser to util package 2024-05-18 21:26:00 +02:00
backend.go backend: remove unused Location method 2024-05-18 21:38:31 +02:00
backend_test.go move Backend interface to backend package 2023-10-25 23:00:18 +02:00
doc.go Moves files 2017-07-23 14:19:13 +02:00
file.go move Backend interface to backend package 2023-10-25 23:00:18 +02:00
file_test.go move Backend interface to backend package 2023-10-25 23:00:18 +02:00
http_transport.go Use generic backend-error-redesign feature flag instead of http-timeouts 2024-05-18 19:54:52 +02:00
readerat.go move Backend interface to backend package 2023-10-25 23:00:18 +02:00
rewind_reader.go move Backend interface to backend package 2023-10-25 23:00:18 +02:00
rewind_reader_test.go move Backend interface to backend package 2023-10-25 23:00:18 +02:00
shell_split.go Fix typos 2023-12-06 13:11:55 +01:00
shell_split_test.go Refactor SplitShellStrings 2018-04-01 10:16:31 +02:00
watchdog_roundtriper.go backend: cancel stuck http requests 2024-05-09 23:46:17 +02:00
watchdog_roundtriper_test.go backend: add tests for watchdogRoundTripper 2024-05-09 23:46:17 +02:00