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

Jonathan Ellis edited comment on CASSANDRA-5521 at 5/2/13 4:28 PM:
-------------------------------------------------------------------

bq. Changing the Partitioner is a bigger change

It does get ugly since you'd need to reimplement Murmur3.hash3_x64_128 on 
Memory objects.  (Not for the first time, I'm pissed that ByteBuffer isn't an 
interface...)

Let's go ahead and move forward with v2 and optimize later if we need to.

Nits:
# rename hasSummaries to offHeapSummaries
# InputStream.read has an overload that takes a length parameter, you don't 
need to realloc the buffer
# The comment doesn't match the code here.  Also, getIndex should be private.
{code}
.       // multiply by 4 and add the block start
        return bytes.getInt(index << 2);
{code}
# We can easily inline DK.compareTo instead of actually creating a DK object 
(i.e., call partitioner.getToken instead, then compare the tokens and keys 
without the DK wrapper)

The rest LGTM.

                
      was (Author: jbellis):
    bq. Changing the Partitioner is a bigger change

It does get ugly since you'd need to reimplement Murmur3.hash3_x64_128 on 
Memory objects.  (Not for the first time, I'm pissed that ByteBuffer isn't an 
interface...)

Let's go ahead and move forward with v2 and optimize later if we need to.

Nits:
# rename hasSummaries to offHeapSummaries
# InputStream.read has an overload that takes a length parameter, you don't 
need to realloc the buffer
# The comment doesn't match the code here.  Also, getIndex should be private.
{code}
.       // multiply by 4 and add the block start
        return bytes.getInt(index << 2);
{code}

The rest LGTM.

                  
> move IndexSummary off heap
> --------------------------
>
>                 Key: CASSANDRA-5521
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5521
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Vijay
>             Fix For: 2.0
>
>
> IndexSummary can still use a lot of heap for narrow-row sstables.  (It can 
> also contribute to memory fragmentation because of the large arrays it 
> creates.)

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