@andrew.noyes As I was updating the design document, I noticed a discrepancy between documentation and a forum post for transaction_timed_out and transaction_cancelled.
In the FDB documentation section for Non-Retryable Errors, it is mentioned that we will get a transaction_timed_out error in-case we set a timeout in our transaction options.
However, this forum post by @alloc seems to indicate that we will get a transaction_cancelled error.
I was wondering if there was some subtlety that I might be missing here?
In order understand the error conditions better, I’ve created the following table. Could you please let me know in case there is a mistake.
| Error Name | on_error retry? | Possible in-flight transaction |
|---|---|---|
commit_unknown_result |
Yes | No |
cluster_version_changed |
Yes | Yes |
operation_cancelled |
No | Yes |
transaction_timed_out |
No | Yes |
transaction_cancelled |
??? | ??? |
Regarding transaction_cancelled, is it something on_error automatically retries? Also from a FDB client perspective, does the possibility of an in-flight transaction exist when we get a transaction_cancelled error?