You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2014/11/01 02:24:34 UTC

[jira] [Commented] (CASSANDRA-5863) In process (uncompressed) page cache

    [ https://issues.apache.org/jira/browse/CASSANDRA-5863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14192869#comment-14192869 ] 

Jonathan Ellis commented on CASSANDRA-5863:
-------------------------------------------

bq. The Tricky part is tracking the "hotness" of these chunks. It needs to track the number of times the chunk was decompressed in the last X seconds. 

Backing up a bit -- why not just take a LRU approach?  When we uncompress a chunk, we cache it.  Add metrics so users can monitor cache churn and disable if it's not useful.  (But since our chunks are fairly large, and thus decompressing is relatively expensive, I think we could tolerate relatively high churn.)

> In process (uncompressed) page cache
> ------------------------------------
>
>                 Key: CASSANDRA-5863
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5863
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: T Jake Luciani
>              Labels: performance
>             Fix For: 3.0
>
>
> 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)