Ariel Weisberg created CASSANDRA-8729:
-----------------------------------------
Summary: Commitlog causes read before write when overwriting
Key: CASSANDRA-8729
URL: https://issues.apache.org/jira/browse/CASSANDRA-8729
Project: Cassandra
Issue Type: Improvement
Components: Core
Reporter: Ariel Weisberg
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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)