[ https://issues.apache.org/jira/browse/CASSANDRA-3623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13174886#comment-13174886 ]
Pavel Yaskevich commented on CASSANDRA-3623: -------------------------------------------- With read()/write() operations data gets copied 2 times - from disk to "page cache" and from "page cache" to "user buffer", the benefit of the mmap is that it allows to skip the second copy by directly mapping file (in case of file mapping) contents to the process address space. But if you take a look at CompressedFileDataInput.reBuffer() you would see that that second copy is still made. I don't see how mmap'ed I/O gives us any real benefit operating on the compressed files. > use MMapedBuffer in CompressedSegmentedFile.getSegment > ------------------------------------------------------ > > Key: CASSANDRA-3623 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3623 > Project: Cassandra > Issue Type: Improvement > Components: Core > Affects Versions: 1.1 > Reporter: Vijay > Assignee: Vijay > Labels: compression > Fix For: 1.1 > > Attachments: 0001-MMaped-Compression-segmented-file.patch > > > CompressedSegmentedFile.getSegment seem to open a new file and doesnt seem to > use the MMap and hence a higher CPU on the nodes and higher latencies on > reads. > This ticket is to implement the TODO mentioned in CompressedRandomAccessReader > // TODO refactor this to separate concept of "buffer to avoid lots of read() > syscalls" and "compression buffer" > but i think a separate class for the Buffer will be better. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira