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

Terje Marthinussen commented on CASSANDRA-2521:
-----------------------------------------------

I found an error in how the patch had gotten merged in our code. 
After fixing that, I see no Compacted files around that I cannot explain.

This found the the error:
{noformat}
    public void releaseReference()
    {
        if (holdReferences.decrementAndGet() == 0 && isCompacted.get())
        {
            // Force finalizing mmapping if necessary
            ifile.cleanup();
            dfile.cleanup();

            deletingTask.schedule();
        }
        assert holdReferences.get() >= 0 : "Reference counter " +  
holdReferences.get() + " for " + dfile.path;
 
    }
{noformat}

that assert turned quite useful so a recommended addon.

Been doing a lot of updating, repairing, querying since then on a few system 
here ranging from 3 nodes with 100-200 million docs to 12 nodes with more than 
a billion. Nothing abnormal so far. Things that made us run out of disk before 
or sent nodes into full GC land, now works.

I would still like to see that full GC is not called if disk runs past 90% 
usage as and mmap is not used. No point halting the world if not needed?

> 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, 2521-v3.txt, 2521-v4.txt
>
>
> 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