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

Jonathan Ellis commented on CASSANDRA-6689:
-------------------------------------------

It seems like we have a pretty broad consensus (Pavel + Sylvain + Aleksey; 
Marcus?) that we should break this up more.  How about something like this?

# Trading some performance for much bigger memtables is useful, so introduce 
off-heap memtables as an option, default to off.  No GC, just free after flush. 
 One native Buffer each for name and value.  Copy onto heap when reading.
# Add NativeCell a la 6694 to reduce at-rest on-heap overhead.  Still copying 
into an on-heap Cell for reads.  Still no GC.
# Add the simplest possible GC to avoid copying into on-heap Cells.  If we 
still have to flush for overwrite-heavy workloads that's okay.
# Full GC that doesn't need to flush unless we really have used up our memory 
in live Cells.
# Get rid of on-heap memtables.

I'm waving my hands a bit b/c I'm not sure what 3 looks like but I think/hope 
we can probably come up with something simpler than what we have today as an 
intermediate step.  And maybe 5 comes after 3.  But I think 1 and 2 make sense 
for 2.1b2 with the others for 3.0.

> Partially Off Heap Memtables
> ----------------------------
>
>                 Key: CASSANDRA-6689
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6689
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Benedict
>            Assignee: Benedict
>             Fix For: 2.1 beta2
>
>         Attachments: CASSANDRA-6689-small-changes.patch
>
>
> Move the contents of ByteBuffers off-heap for records written to a memtable.
> (See comments for details)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to