-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Btree
-
Storage Engines
-
StorEng - Defined Pipeline
There is one place where changes to a page serialize in WiredTiger. That is managed via the code in serial_inline.h.
Updates can be installed without holding the lock at all - they use an atomic compare and swap operation. There is though code in the update path that acquires that lock - which is checking for obsolete content in an update list and trimming it off.
We should look for mechanisms to reduce how often the page lock is taken, and how long it is held for.