Skip to content

Conversation

vakhov
Copy link
Contributor

@vakhov vakhov commented Sep 16, 2025

vshard 0.1.28 introduces a new option for read requests: request_timeout.

The request_timeout option serves as protection against stalled replicas. When specified, its value must be <= timeout, and it introduces new behavior for router calls: they start retrying on TimedOut errors, each time attempting to execute the request on a new replica, as long as the overall timeout allows (previous behavior).

Support for this option is implemented only in CRUD requests with mode = 'read', since it makes no sense in write mode — there is no one to retry the request if the master does not respond.

  • Tests
  • Changelog
  • Documentation

vshard 0.1.28 introduces a new option for read requests:
`request_timeout`.

`request_timeout` serves as a protection against hung replicas. When it
is specified, it must be <= `timeout`, and it introduces new behavior
for router calls: they start retrying TimedOut errors, each time trying
the request on a new replica, as long as `timeout` (the old one)
permits.

Support the option only in crud requests with `mode = 'read'`, since
it makes no sense with `mode = 'write'`. There is no one to retry the
request on if master is unresponsive.
@vakhov vakhov self-assigned this Sep 16, 2025
@vakhov vakhov merged commit dcac828 into master Sep 17, 2025
25 checks passed
@vakhov vakhov deleted the ee-sync/vshard-request-timeout branch September 17, 2025 06:06
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.

4 participants