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)

Reply via email to