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

Benedict commented on CASSANDRA-8707:
-------------------------------------

Well, all I will say is that I wash my hands of resource cleanup problems 
without some variant of this patch. It has already caught several memory leaks 
before even being committed and used in the wild (all unrelated to the reasons 
I started it).

bq. Still waiting for a simplification of the class hierarchy

I offered one suggestion, that I think makes it worse but does simplify it. 
Another is to eliminate all of the XManager classes and just have them 
duplicate the code for lookup in a statically referenced ConcurrentMap. I did 
it this way first, but found the code duplication very ugly. I'm honestly not 
sure what the problem is here, though, as it seems to map pretty 
straightforwardly onto how things work.

bq.  I'm almost inclined to suggest that we should stop doing early opening of 
compaction results 

We would have to also stop doing summary resampling, as that was broken prior 
to the introduction of the linked-list chain, and is probably still subtly 
broken and brittle. The only distinction with this patch would be the ability 
to (without caveat) merge GlobalTidy and TypeTidy, but this seems like a small 
win, since we could do this now, as I suggested, but would still prefer not to.

> Move SegmentedFile, IndexSummary and BloomFilter to utilising RefCounted
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-8707
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8707
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Critical
>             Fix For: 2.1.3
>
>
> There are still a few bugs with resource management, especially around 
> SSTableReader cleanup, esp. when intermixing with compaction. This migration 
> should help. We can simultaneously "simplify" the logic in SSTableReader to 
> not track the replacement chain, only to take a new reference to each of the 
> underlying resources.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to