cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-8707) Move SegmentedFile, IndexSummary and BloomFilter to utilising RefCounted
Date Wed, 04 Feb 2015 13:27:35 GMT


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

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:
>             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

View raw message