Details
-
Improvement
-
Resolution: Done
-
Major
-
6.5.1, 6.6.0, 6.5.0
-
None
-
1
-
KV-Engine Sprint 2021 August, KV-Engine-Sept-21
Description
Investigate improve the expiry processing so that
- Its throughput is more predictable, so that we can perform reliable sizings
- It better scales to multicore, so that the available CPU can be utilized for expiry handling
Possible areas to investigate (after profiling) are:
- Performing expiration across multiple vBuckets in parallel.
- Looking at the locking here - is the ItemPager slowed when visiting due to having to hold HashTable lock; or is it the locking when we bulk-delete all expired items in a given vBucket?
- Allowing expiration to skip over HashTable locks which are currently locked - although this would mean StoredValues could be skipped from being considered in a given item pager pass.