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

Benedict commented on CASSANDRA-9431:
-------------------------------------

Thanks guys for squashing these issues. I've pushed some further modifications 
[here|https://github.com/belliottsmith/cassandra/tree/fix-leaks]

* There was a bug introduced in SerializingCache, which could have double 
decremented the RefCountedMemory.
* I have a comment in CompactionManager around a piece of code that was 
previously run in a try/finally block. I'm not honestly sure what it's 
achieving, though, so I don't know which is correct.
* Where it looked possible (and helpful) to do so, I've moved the 
SuppressWarnings flag to the offending statement. This only works for some 
simple cases, but I think helps improve clarity where it can be employed.
* I removed AutoCloseable from Ref, since we should never use it as one
* I also did some random tidying of bits I thought could be simplified

It's worth noting that this static analysis is *not* perfect - it seems to miss 
some other potential holes. I'm hoping that [~iamaleksey]'s upcoming proposal 
for using lambdas will help us avoid Iterators escaping into so much of the 
codebase, and that by attacking it from both angles we'll hopefully be safe.

> Static Analysis to warn on unsafe use of Autocloseable instances
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-9431
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9431
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Benedict
>            Assignee: T Jake Luciani
>             Fix For: 2.2.0 rc1
>
>
> The ideal goal would be to fail the build under any unsafe (and not annotated 
> as considered safe independently) uses of Autocloseable. It looks as though 
> eclipse (and hence, hopefully ecj) has support for this feature, so we should 
> investigate if it meets our requirements and we can get it integrated



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

Reply via email to