Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
A new copyOnWrite synchronization scheme is introduced for the compaction pipeline.
The new scheme is better since it removes the lock from getSegments() which is invoked in every get and scan operation, and it reduces the number of LinkedList objects that are created at runtime, thus can reduce GC (not by much, but still...).
In addition, it fixes the method getTailSize() in compaction pipeline. This method creates a MemstoreSize object which comprises the data size and the overhead size of the segment and needs to be atomic.
Attachments
Attachments
Issue Links
- links to