Details
-
Bug
-
Resolution: Fixed
-
Critical
-
6.5.1, 6.6.0, 6.6.1
-
Triaged
-
1
-
Yes
-
KV-Engine Sprint 2020-Dec, KV-Engine 2021-Jan
Description
In the VBucket::add code we allow an unpersisted delete to be replaced. If we replace an unpersisted delete with a committed item then all works fine as that item can be returned from the HashTable. If we replace an unpersisted delete with a prepare then a get finds no item in the HashTable and may queue a BgFetch which can return the document in its previous (undeleted) state.
Attachments
For Gerrit Dashboard: MB-42918 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
140592,5 | MB-42918: Do not replace committed item with pending at add | master | kv_engine | Status: MERGED | +2 | +1 |
142091,1 | [BP] MB-42918: Do not replace committed item with pending at add | master | kv_engine | Status: ABANDONED | 0 | 0 |
142093,3 | [BP] MB-42918: Do not replace committed item with pending at add | 6.5.2 | kv_engine | Status: MERGED | +2 | +1 |
143510,2 | MB-42918: Merge branch '6.5.2' into mad-hatter | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
143726,4 | Adding functional test for MB-42918 | mad-hatter | TAF | Status: MERGED | +2 | +1 |
143811,1 | Merge branch 'mad-hatter' into master | master | kv_engine | Status: MERGED | +2 | +1 |
144120,2 | Adding functional test for MB-42918 | master | TAF | Status: MERGED | +2 | +1 |