restic/internal
Michael Eischer e734746f75 cache: forget cached file at most once
This is inspired by the circuit breaker pattern used for distributed
systems. If too many requests fails, then it is better to immediately
fail new requests for a limited time to give the backend time to
recover.

By only forgetting a file in the cache at most once, we can ensure that
a broken file is only retrieved once again from the backend. If the file
stored there is broken, previously it would be cached and deleted
continuously. Now, it is retrieved only once again, all later requests
just use the cached copy and either succeed or fail immediately.
2024-05-18 21:28:54 +02:00
..
archiver Improve command shutdown on context cancellation 2024-04-22 22:31:38 +02:00
backend repository: move backend.LoadAll to repository.LoadRaw 2024-05-18 21:26:00 +02:00
bloblru bloblru: add test for GetOrCompute 2024-05-05 12:00:25 +02:00
cache cache: forget cached file at most once 2024-05-18 21:28:54 +02:00
checker check: fix error message formatting 2024-05-18 21:28:54 +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 "too small" with "too short" in error messages 2024-05-18 19:59:26 +02:00
migrations debug/repair packs/upgrade repo v2: use repository.LoadRaw 2024-05-18 21:26:00 +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 repository: remove redundant blob loading fallback from RepairPacks 2024-05-18 21:28:54 +02:00
restic repository: move backend.LoadAll to repository.LoadRaw 2024-05-18 21:26:00 +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