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

Feature request: Update Group Sync to retry recoverable errors indefinitely #822

Open
Tracked by #693
cameronvoell opened this issue Jun 6, 2024 · 3 comments
Open
Tracked by #693
Assignees
Labels
Client App enhancement New feature or request

Comments

@cameronvoell
Copy link
Contributor

cameronvoell commented Jun 6, 2024

Is your feature request related to a problem?

For errors that are retryable (network, storage) we probably want to keep trying indefinitely so that a 5 minute network outage doesn't brick groups. It's better to have syncs fail for a period of time than to ignore a message that other group members might treat as valid.

Describe the solution to the problem

No response

Describe the uses cases for the feature

No response

Additional details

No response

@cameronvoell cameronvoell added the enhancement New feature or request label Jun 6, 2024
@cameronvoell
Copy link
Contributor Author

See #805 (comment) for context

@cameronvoell
Copy link
Contributor Author

Making a note to address the concern here about having specific Error type for intents that contain invalid commits:

#820 (comment)

@insipx
Copy link
Contributor

insipx commented Jun 12, 2024

Some quick thoughts about impl:

It would make sense to add a strategy field to the general Retry struct here, (to also be available on the builder) and instantiate the api client or wherever things are being retried with that strategy. A strategy could be an enum, and this one in particular be called Infinite or something. A quicker fix would just be passing usize::MAX to retries but maybe something more verbose would be appropriate. the macros would need to change accordingly to account for strategy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Client App enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants