cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yang Yang (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-2252) arena allocation for memtables
Date Thu, 25 Aug 2011 18:27:30 GMT


Yang Yang commented on CASSANDRA-2252:


    private void tryRetireRegion(Region region)
        if (currentRegion.compareAndSet(region, null))

could you please explain why we need to add them to "filledRegions"? when all the buffers
that share the same region die/become unreachable, shouldn't we just let the region go  and
free memory? , then we should not tie this region in memory through the references starting
from filledRegions . no ??

just to confirm my thoughts, I looked at the HBase implementation:

   * Try to retire the current chunk if it is still
   * <code>c</code>. Postcondition is that curChunk.get()
   * != c
  private void tryRetireChunk(Chunk c) {
    boolean weRetiredIt = curChunk.compareAndSet(c, null);
    // If the CAS succeeds, that means that we won the race
    // to retire the chunk. We could use this opportunity to
    // update metrics on external fragmentation.
    // If the CAS fails, that means that someone else already
    // retired the chunk for us.

it does not tie it to a region list .

the current result of tying regions together through the filledRegions is that all regions
(even if those dead ones) still occupy memory.  --- well  if the purpose is to count the size()
held in allocator, should we use weak references?

> arena allocation for memtables
> ------------------------------
>                 Key: CASSANDRA-2252
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 1.0
>         Attachments: 0001-add-MemtableAllocator.txt, 0002-add-off-heap-MemtableAllocator-support.txt,
2252-v3.txt, 2252-v4.txt, merged-2252.tgz
> The memtable design practically actively fights Java's GC design.  Todd Lipcon gave a
good explanation over on HBASE-3455.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message