[ 
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)

Reply via email to