You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jeff Kesselman (JIRA)" <ji...@apache.org> on 2011/06/16 05:43:47 UTC

[jira] [Commented] (CASSANDRA-2521) Move away from Phantom References for Compaction/Memtable

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

Jeff Kesselman commented on CASSANDRA-2521:
-------------------------------------------

Relying on either finalizers or phantom references for your own clean up is not correct.  These mechanisms are not triggered when an object becomes a candidate for collection, but  only when the space is actually reclaimed.  

The time between these two states is up to the gc implementation and can be infinite in that the gc is never *required* to collect any given object unless failure to collect that object would result in an Out Of Memory condition.  GCs often only partially collect, choosing the easiest objects to clean up first and going no further if no more space is required.  A null gc that never collects space is actually perfectly legal under the java VM specification and has actually been used by IBM in the past for certain operational environments.

> Move away from Phantom References for Compaction/Memtable
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-2521
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2521
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Chris Goffinet
>            Assignee: Sylvain Lebresne
>             Fix For: 1.0
>
>
> http://wiki.apache.org/cassandra/MemtableSSTable
> Let's move to using reference counting instead of relying on GC to be called in StorageService.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira