cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6689) Partially Off Heap Memtables
Date Fri, 07 Mar 2014 04:58:45 GMT


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

View raw message