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 2009/12/28 16:07:29 UTC

[jira] Commented: (CASSANDRA-408) Pool BufferedRandomAccessFile objects used by sstable reads

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

Jonathan Ellis commented on CASSANDRA-408:
------------------------------------------

Using mmapped files instead should be both simpler and higher-performance.  (_Should_.  Testing required.)

We already have most of the plumbing needed w/ our phantomreferences on sstablereaders to be able to wait for GC of the MappedByteBuffer before deleting a compacted sstable, which is the major problem w/ the mmap approach.

> Pool BufferedRandomAccessFile objects used by sstable reads
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-408
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-408
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Chris Goffinet
>             Fix For: 0.9
>
>         Attachments: 408.patch, commons-pool-1.5.2.jar
>
>
> not only does BRAF per op do a whole lot of extra fopens, but the buffering actually makes it _more_ expensive to set up since on the jvm all primitive arrays are initialized to zero.
> this adds a simple read test to stress.py; I'm seeing about a 10% increase in throughput which is worth 200loc imo.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.