Skip to content

Conversation

@opti
Copy link
Contributor

@opti opti commented Oct 24, 2024

We have a list of improvements, that have been implemented in our fork for the ruby client since we started using Aerospike. We've been running them in production for several years already.

If they look reasonable to you, please consider merging them to the main repo.

ioquatix and others added 9 commits October 22, 2024 16:49
* Test explicit failure in `parse_result`.

We identified that this function can fail with various I/O errors. In the
case of a failure, the retry mechanism is not invoked. This can cause
unexpected failures in the client if servers in the cluster fail when
reading the result of a command.
- Handle almost all exceptions and retry.
- Add backoff during retry to avoid congestion.
- Increase default `max_retries` to 3.
Aerospike has some tricky exception handling where some kinds of
result codes represent fatal errors which no amount of retrying will help.
We need to differentiate these so that the retry mechanism immediately
fails in those cases.
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