[ 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)