@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?