Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
Description
The memory mapped commit log implementation writes directly to the page cache. If a page is not in the cache the kernel will read it in even though we are going to overwrite.
The way to avoid this is to write to private memory, and then pad the write with 0s at the end so it is page (4k) aligned before writing to a file.
The commit log would benefit from being refactored into something that looks more like a pipeline with incoming requests receiving private memory to write in, completed buffers being submitted to a parallelized compression/checksum step, followed by submission to another thread for writing to a file that preserves the order.
Attachments
Issue Links
- is related to
-
CASSANDRA-8771 Remove commit log segment recycling
- Resolved
- relates to
-
CASSANDRA-8634 Multi-thread commit log compression
- Open
-
CASSANDRA-6809 Compressed Commit Log
- Resolved