Details
-
Improvement
-
Resolution: Done
-
Major
-
6.5.0
Description
Currently to implement Transactions the SDK creates temporary (empty) documents during the execution of a transaction - before it has been committed.
The documents can "leak" to DCP and non-transactional reads, and hence violate read committed semantics.
KV needs to provide support for these documents that are created during the running of the transaction, so they are not visible until the transaction is successfully committed.
Mini design doc: https://docs.google.com/document/d/16y1X_twaG5lmHI3bYPwzNGICtK5DPM9rdRtR8fXpVQA/edit#heading=h.d8v0y452t6e0
Attachments
Issue Links
- blocks
-
MB-37934 Duplicate mutation for eventing when data loading is through transaction
- Closed
- causes
-
MB-41944 Item::removeUserXattrs doesn't take a copy of the blob
- Closed
- depends on
-
MB-38725 Cluster compat mode should be 6.6 on Mad-Hatter branch
- Closed
- relates to
-
MB-40126 Subdoc CreateAsDeleted without any value path can result in non-empty value
- Closed
-
MB-40162 Intermittent return of ERR_KEY_NOT_FOUND when trying to insert a doc using new CreateAsDeleted flag
- Closed
-
MB-40186 Rebalance failed as memcached crashed during EPVBucket::bgFetchForCompactionExpiry(DocKey const&, Item const&)
- Closed
-
MB-50425 Subdoc: Race in checking for already-existing Deleted document with Add|CreateAsDeleted
- Closed
-
MB-40187 DcpConsumer::deletion: (vb:0) Value cannot contain a body
- Closed
-
MB-34142 Handling extra mutations created by transactions
- Open
-
MB-39588 Handle the cluster-compatibility change for IncludeDeletedUserXattrs
- Closed
-
MB-39646 cbbackupmgr needs to support invisible transactional staged inserts.
- Closed
For Gerrit Dashboard: MB-37374 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
121497,8 | MB-37374: Move subdoc parse code to its own header | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
121498,15 | MB-37374: Allow to create user-xattr docs in Deleted state | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
121714,7 | MB-37374: Add Hello::SubdocCreateAsDeleted flag | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
126116,13 | MB-37374: Add new IncludeDeletedUserXattrs flag at DCP_OPEN | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
126526,13 | MB-37374: DCP Consumer negotiates IncludeDeletedUserXattrs | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
126595,7 | MB-37374: DCP Producer negotiates IncludeDeletedUserXattrs | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
126708,16 | MB-37374: Producer sends user-xattrs within normal delete | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
127038,8 | MB-37374: DCP Consumer accepts user-xattrs in NormalDelete | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
127446,2 | Merge remote-tracking branch 'couchbase/mad-hatter' | master | kv_engine | Status: MERGED | +2 | +1 |
127510,7 | MB-37374: Verify that docs can be created in Deleted state via SyncWrite | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
128012,12 | MB-37374: Producer removes user-xattrs from Delete | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
128082,12 | MB-37374: Refactor Item's value pruning | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
128202,8 | MB-37374: Extend DCP Producer tests to SyncDelete | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
128289,2 | Merge branch 'couchbase/mad-hatter' into 'couchbase/master' | master | kv_engine | Status: MERGED | +2 | +1 |
128606,6 | MB-37374: Subdoc CreateAsDeleted forbids body path | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
128872,7 | MB-37374: DCP Consumer accepts user-xattrs in SyncDelete | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
129191,8 | MB-37374: DelWithMeta accepts user-xattrs in the payload | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
129455,2 | MB-37374: Add extra tests for frontend operations | mad-hatter | kv_engine | Status: ABANDONED | 0 | 0 |
129612,2 | Merge branch mad-hatter | master | kv_engine | Status: MERGED | +2 | +1 |
129614,3 | Merge branch mad-hatter | master | kv_engine | Status: MERGED | +2 | +1 |
129615,7 | Merge branch mad-hatter | master | kv_engine | Status: MERGED | +2 | +1 |
129616,5 | Merge branch mad-hatter | master | kv_engine | Status: MERGED | +2 | +1 |
129638,4 | Merge branch mad-hatter | master | kv_engine | Status: MERGED | +2 | +1 |
129702,2 | MB-37374: Log IncludeDeletedUserXattrs enabled at dcp_open_executor | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
129828,1 | Merge branch mad-hatter' | master | kv_engine | Status: MERGED | +2 | +1 |
129912,1 | Merge branch mad-hatter into master | master | kv_engine | Status: MERGED | +2 | +1 |
129913,1 | Merge branch mad-hatter into master | master | kv_engine | Status: MERGED | +2 | +1 |
129928,2 | Merge branch mad-hatter into master | master | kv_engine | Status: MERGED | +2 | +1 |
129935,3 | Merge branch mad-hatter into master | master | kv_engine | Status: MERGED | +2 | +1 |
129937,5 | Merge branch mad-hatter into master | master | kv_engine | Status: MERGED | +2 | +1 |
131458,4 | MB-37374: XattrNoDocTest: Make explicit when tests are not supported | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
131807,3 | Merge branch 'mad-hatter' | master | kv_engine | Status: MERGED | +2 | +1 |
169740,4 | MB-50425: Add() of deleted item should fail if tombstone created during request | master | kv_engine | Status: MERGED | +2 | +1 |
181091,7 | MB-50425: Add() of deleted item should fail if tombstone created during request | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |