[ https://issues.apache.org/jira/browse/CASSANDRA-5863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15261121#comment-15261121 ]
Pavel Yaskevich commented on CASSANDRA-5863: -------------------------------------------- +1 on the changes, much more readable now. Maybe one more nit from my original comments - is there anyway we can change ChunkCache#invalidatePosition so instead of doing instance-of checks and redirects to CachedRebufferer it simply does invalidate(new Key(...)), since ChunkReader is effectively stateless maybe we could drop RebuffererFactory and use ChunkReader as a source of all Rebufferers? This way IMHO it's clearer that ChunkReader is the source of the data and doesn't have any bufferering, if buffering/caching is needed it can produce Rebufferer which manages the memory, WDYT? Also how do you want to proceed with this? After all of the changes can you squash/rebase, so I can push? > In process (uncompressed) page cache > ------------------------------------ > > Key: CASSANDRA-5863 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5863 > Project: Cassandra > Issue Type: Sub-task > Reporter: T Jake Luciani > Assignee: Branimir Lambov > Labels: performance > Fix For: 3.x > > > Currently, for every read, the CRAR reads each compressed chunk into a > byte[], sends it to ICompressor, gets back another byte[] and verifies a > checksum. > This process is where the majority of time is spent in a read request. > Before compression, we would have zero-copy of data and could respond > directly from the page-cache. > It would be useful to have some kind of Chunk cache that could speed up this > process for hot data, possibly off heap. -- This message was sent by Atlassian JIRA (v6.3.4#6332)