Details
-
Bug
-
Resolution: Done
-
Major
-
1.0.0-beta.2
-
None
-
1
-
Unknown
-
SDK6: Tracing+OT
Description
Currently, a kv operation that times out raises a client_exception with a lcb error code of 201. That is interpreted as a FAIL_EXPIRY. That's wrong – that should only happen when the transaction itself expires. We need to add an attempt_expired exception, derived from client_error, and classify that properly (and use it in the hooks, etc..).
We need to add kv timeout to the transaction_config as well. Check on other inconsistencies while we are there. Speaking of kv timeouts... Java has durable vs non-durable timeouts, and uses them in the mutating operation's options when a kv timeout isn't specified in the transaction options. Consider adding this to the client, using in txns.
Attachments
For Gerrit Dashboard: TXNCXX-117 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
145153,8 | TXNCXX-117 Handling timeouts | main | couchbase-transactions-cxx | Status: MERGED | +2 | +1 |
145448,2 | TXNCXX-117 Cleaner timeouts | master | transactions-fit-performer | Status: MERGED | +2 | +1 |
145463,2 | TXNCXX-117 Timeouts | master | transactions-fit-performer | Status: MERGED | +2 | +1 |