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

T Jake Luciani commented on CASSANDRA-5020:
-------------------------------------------

It would seem the better fix is to do better ref counting.  There is a huge 
benefit to having the data mapped since it lives off heap.  

I've seen in mixed heavy read/write workloads this byte[] copy create a lot of 
heap pressure.
                
> Time to switch back to byte[] internally?
> -----------------------------------------
>
>                 Key: CASSANDRA-5020
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5020
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>             Fix For: 1.3
>
>
> We switched to ByteBuffer for column names and values back in 0.7, which gave 
> us a short term performance boost on mmap'd reads, but we gave that up when 
> we switched to refcounted sstables in 1.0.  (refcounting all the way up the 
> read path would be too painful, so we copy into an on-heap buffer when 
> reading from an sstable, then release the reference.)
> A HeapByteBuffer wastes a lot of memory compared to a byte[] (5 more ints, a 
> long, and a boolean).
> The hard problem here is how to do the arena allocation we do on writes, 
> which has been very successful in reducing STW CMS from heap fragmentation.  
> ByteBuffer is a good fit there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to