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