Skip to content

Commit dea1da6

Browse files
authored
Retry on certain query failures for managed transactions (#190)
When using `Graph::run`, `Graph::run_on`, `Graph::execute`, or `Graph::execute_on`, the query might be retries for a while. The logic is that all errors with the `Transient` error class as well as a few other error classes are considered retryable. This catches errors during a leader election or when the transaction resources on the server (memory, handles, ...) are exhausted. Retries happen with an exponential backoff until a retry delay exceeds 60s, at which point the query fails. Transaction created with `Graph::start_txn` or `Graph::start_txn` are *not* retried automatically, only managed transactions are. Cherry-Picked-From: #186
1 parent 48e89d9 commit dea1da6

11 files changed

+502
-69
lines changed

.github/workflows/checks.yml

-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ env:
2626
MSRV: 1.75.0
2727
HACK: hack --package neo4rs --each-feature --exclude-features unstable-serde-packstream-format,unstable-bolt-protocol-impl-v2,unstable-streaming-summary
2828

29-
3029
jobs:
3130
check:
3231
name: Compile on MSRV

ci/Cargo.lock.min

+21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ci/Cargo.lock.msrv

+105-39
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)