[
https://issues.apache.org/jira/browse/CASSANDRA-6689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13923147#comment-13923147
]
Pavel Yaskevich commented on CASSANDRA-6689:
--------------------------------------------
Doing everything together is even bigger opportunity to mess up. Let me clarify
my point, hopefully you will hear it this time as you plead for committers to
decide so I'm representing. From my side nothing from this ticket would go in
until we separate all of the work into multiple committable stages, namely (but
not necessarily exactly like that):
# Make use off-heap memory inside of Memtables, which delivers increased
capacity and less frequent/painful CMS (commit #1):
a. Determine if we actually need to re-implement custom allocator or can go
with existing one e.g. netty's implementation
b. plug allocator from #1 into Memtable for memory usage tracking, do all
necessary bookkeeping to release memory back to the pool once it's no longer
needed (overwrite, flush etc.), make Memtable memory life time limited by
copying data from Memtable on the read path.
# Optimizations after #1 which determine how big of impact the copying actually
makes comparing to original situation on different workloads and how good is
ref tracking comparing to that (commit #2)
Delivers - memory reference tracking (RefAction, GC + what ever is needed)
(if needed) # Further enhancements to allocators/ref accounting (commit #3)
This way we can reuse already existing RefAction and related code that we
already have, commit #1 doesn't require any substantial changes in the way we
treat memtables and adds decoupled allocator framework, commit #2 plugs
reference tracking into all previous changes, commit #3 further improves things
if needed.
> 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)