[
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