Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
1
-
Unknown
Description
Performing a GET operation which fails with doc-not-found leads to the transaction rolling back on finalize, even if the error is caught by the application rather than being propagated back to the lambda.
Javascript test code:
await H.co.insert(testDocRem, { foo: 'bar' }) |
|
await H.c.transactions().run(async (attempt) => {
|
const remDoc = await attempt.get(H.co, testDocRem) |
await attempt.remove(remDoc)
|
|
try { |
await attempt.get(H.co, testDocRem)
|
} catch (e) { |
// ignore the doc-not-found |
}
|
})
|
|
// transaction retries over and over until it times out |
Attachments
Issue Links
- blocks
-
JSCBC-1024 DocNotFound should not be special cased from get_optional
- Open
-
PYCBC-1476 DocNotFound should not be special cased from get_optional
- Open
- relates to
-
JSCBC-1023 DocNotFound during transaction fails the transaction
- Resolved
-
TXNCXX-200 nlohmann crash when doing RYOW
- Closed
Gerrit Reviews
For Gerrit Dashboard: TXNCXX-215 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
190116,3 | PYCBC-1474: Transactions not handling DocumentNotFound within lambda correctly | master | couchbase-python-client | Status: MERGED | +2 | +1 |