Skip to content

Conversation

@hachikuji
Copy link
Contributor

Get requests are probably the simplest to retry, so I've started there. This patch adds a new responsive.rs3.retry.timeout.ms and uses exponential backoff logic (borrowed from Kafka) to retry after UNAVAILABLE errors from the rs3 server.

Copy link
Contributor

@rodesai rodesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall the approach LGTM. Couple of minor comments inline.

}
}

public static class Connector {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is added so that we have a hook to plug in a mock?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added mainly because there are more parameters now. The static connect worked nicely when there were only two parameters, but it started feeling a little clumsy with the additions from the patch. Having a place to hook in mocks could be useful as well I guess.

Copy link
Contributor

@rodesai rodesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@hachikuji hachikuji merged commit 71eec91 into main Feb 11, 2025
1 check passed
@hachikuji hachikuji deleted the rs3-retry-client branch February 11, 2025 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants