Details
-
Improvement
-
Resolution: Won't Do
-
Major
-
None
-
7.0.0
-
1
-
KV-Engine-Sept-21
Description
Frontend operations that need to queue an item into the Checkpoint must acquire the CM::queueLock.
If a background task holds the same lock then any frontend thread (touching the same vbucket) would block.
That's the legacy problem that this MB addresses.
Now, code in the Checkpoint area has changed considerably even if we consider just the latest CB versions (eg 6.5, 6.6, 7.0).
In particular, in the recent changes in MB-46827, MB-47386, MB-48038 we have minimized the work that some background operations (eg, CheckpointRemoval) do under CM::queueLock.
So we need a re-assessment of the current state before proceeding with any change.
Attachments
Issue Links
- is triggering
-
MB-48506 Minimize critical section in CheckpointManager::expelUnreferencedCheckpointItems
- Closed