Details
-
Task
-
Resolution: Fixed
-
Major
-
None
-
KV Spint 2020-March
Description
With couchstore, either doc writes or compaction runs at a time. Writes are blocked while compaction is running. This makes expiry processing simple during the compaction. Any race condition of an expired item getting overwritten while processing expiry during compaction can be avoided by checking the latest hash table entry. When concurrent compaction is executed, we have to make sure that a new version of the item has been already persisted in the storage engine. We need to design the expiry processing APIs with concurrent compaction.
Attachments
For Gerrit Dashboard: MB-36373 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
122067,1 | MB-36373: Test wip | master | kv_engine | Status: ABANDONED | 0 | -1 |
122958,9 | MB-36373: Split VBucketBGFetchItem | master | kv_engine | Status: MERGED | +2 | +1 |
122959,1 | MB-36373: BGFetch for expiry at compaction | master | kv_engine | Status: ABANDONED | 0 | 0 |
122960,11 | MB-36373: BGFetch non-resident expiries for magma | master | kv_engine | Status: MERGED | +2 | +1 |
123085,5 | MB-36373: Refactor evp_store unit tests | master | kv_engine | Status: MERGED | +2 | +1 |
124263,9 | MB-36373: Add BackgroundCompact StorageProperty | master | kv_engine | Status: MERGED | +2 | +1 |
124264,1 | MB-36373: BGFetch non-resident expiries for magma | master | kv_engine | Status: ABANDONED | 0 | -1 |
125015,1 | Revert "MB-36373: BGFetch non-resident expiries for magma" | master | kv_engine | Status: ABANDONED | 0 | 0 |