Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a auto re-trying wrapper backend #796

Open
grote opened this issue Nov 11, 2024 · 0 comments
Open

Implement a auto re-trying wrapper backend #796

grote opened this issue Nov 11, 2024 · 0 comments
Milestone

Comments

@grote
Copy link
Collaborator

grote commented Nov 11, 2024

From personal observation issues like #675 are the most common cause of backup failures. While okhttp has auto-retrying on, it doesn't seem to kick in for situations like those (EOFException, SocketTimeoutException, etc.).

A solution could be do wrap existing backends in a RetryingBackend which delegates all calls to the underlying backend, however, if it receives a non-permanent exception, it retries the operation, potentially with some back-off. This way, the retrying logic would be hidden from the rest of the app to reduce complexity and improve test-ability.

For a start, we'd declare all exception permanent failures, except the ones we've seen to be transient in the wild.

@grote grote added this to the Roadmap milestone Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant