[ 
https://issues.apache.org/jira/browse/CASSANDRA-2521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-2521:
----------------------------------------

    Attachment: 0002-Force-unmapping-files-before-deletion-v2.patch
                
0001-Use-reference-counting-to-decide-when-a-sstable-can-v2.patch

Attaching rebased first patch and a second patch to implement the "Cleaner" 
trick.

I have confirmed on an example that, at least on linux, it does force the 
unmapping: the jvm crashes if you try to access the buffer after the unmapping.

This is the biggest drawback of this approach imho. If we screw up with the 
reference counting and some thread does access the mapping, we won't get a nice 
exception, the JVM will simply crash (with the headache of having to find if it 
does is a bug on our side or a JVM bug). But for the quick testing I've done, 
it seems to work correctly.

> 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
>          Components: Core
>            Reporter: Chris Goffinet
>            Assignee: Sylvain Lebresne
>             Fix For: 1.0
>
>         Attachments: 
> 0001-Use-reference-counting-to-decide-when-a-sstable-can-.patch, 
> 0001-Use-reference-counting-to-decide-when-a-sstable-can-v2.patch, 
> 0002-Force-unmapping-files-before-deletion-v2.patch
>
>
> 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

        

Reply via email to