[ https://issues.apache.org/jira/browse/CASSANDRA-7709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Lerer updated CASSANDRA-7709: -------------------------------------- Attachment: CASSANDRA-7709.txt > sstable2json has resource leaks > ------------------------------- > > Key: CASSANDRA-7709 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7709 > Project: Cassandra > Issue Type: Bug > Components: Tools > Reporter: Benjamin Lerer > Assignee: Benjamin Lerer > Priority: Minor > Fix For: 2.0.10 > > Attachments: CASSANDRA-7709.txt > > > Coverity found 3 resource leak within SSTable2JsonExporter: > ** CID 71971: Resource leak (RESOURCE_LEAK) > /src/java/org/apache/cassandra/tools/SSTableExport.java: 300 in > org.apache.cassandra.tools.SSTableExport.export(org.apache.cassandra.io.sstable.Descriptor, > java.io.PrintStream, java.util.Collection, java.lang.String[], > org.apache.cassandra.config.CFMetaData)() > ** CID 71972: Resource leak on an exceptional path (RESOURCE_LEAK) > /src/java/org/apache/cassandra/tools/SSTableExport.java: 332 in > org.apache.cassandra.tools.SSTableExport.export(org.apache.cassandra.io.sstable.SSTableReader, > java.io.PrintStream, java.lang.String[], > org.apache.cassandra.config.CFMetaData)() > ** CID 71975: Resource leak on an exceptional path (RESOURCE_LEAK) > /src/java/org/apache/cassandra/tools/SSTableExport.java: 236 in > org.apache.cassandra.tools.SSTableExport.enumeratekeys(org.apache.cassandra.io.sstable.Descriptor, > java.io.PrintStream, org.apache.cassandra.config.CFMetaData)() > ________________________________________________________________________________________________________ > *** CID 71971: Resource leak (RESOURCE_LEAK) > /src/java/org/apache/cassandra/tools/SSTableExport.java: 300 in > org.apache.cassandra.tools.SSTableExport.export(org.apache.cassandra.io.sstable.Descriptor, > java.io.PrintStream, java.util.Collection, java.lang.String[], > org.apache.cassandra.config.CFMetaData)() > 294 i++; > 295 serializeRow(deletionInfo, atomIterator, > sstable.metadata, decoratedKey, outs); > 296 } > 297 > 298 outs.println("\n]"); > 299 outs.flush(); > >>> CID 71971: Resource leak (RESOURCE_LEAK) > >>> Variable "dfile" going out of scope leaks the resource it refers to. > 300 } > 301 > 302 // This is necessary to accommodate the test suite since > you cannot open a Reader more > 303 // than once from within the same process. > 304 static void export(SSTableReader reader, PrintStream outs, > String[] excludes, CFMetaData metadata) throws IOException > 305 { > ________________________________________________________________________________________________________ > *** CID 71972: Resource leak on an exceptional path (RESOURCE_LEAK) > /src/java/org/apache/cassandra/tools/SSTableExport.java: 332 in > org.apache.cassandra.tools.SSTableExport.export(org.apache.cassandra.io.sstable.SSTableReader, > java.io.PrintStream, java.lang.String[], > org.apache.cassandra.config.CFMetaData)() > 326 if (excludeSet.contains(currentKey)) > 327 continue; > 328 else if (i != 0) > 329 outs.println(","); > 330 > 331 serializeRow(row, row.getKey(), outs); > >>> CID 71972: Resource leak on an exceptional path (RESOURCE_LEAK) > >>> Variable "scanner" going out of scope leaks the resource it refers to. > 332 checkStream(outs); > 333 > 334 i++; > 335 } > 336 > 337 outs.println("\n]"); > ________________________________________________________________________________________________________ > *** CID 71975: Resource leak on an exceptional path (RESOURCE_LEAK) > /src/java/org/apache/cassandra/tools/SSTableExport.java: 236 in > org.apache.cassandra.tools.SSTableExport.enumeratekeys(org.apache.cassandra.io.sstable.Descriptor, > java.io.PrintStream, org.apache.cassandra.config.CFMetaData)() > 230 while (iter.hasNext()) > 231 { > 232 DecoratedKey key = iter.next(); > 233 > 234 // validate order of the keys in the sstable > 235 if (lastKey != null && lastKey.compareTo(key) > 0) > >>> CID 71975: Resource leak on an exceptional path (RESOURCE_LEAK) > >>> Variable "iter" going out of scope leaks the resource it refers to. > 236 throw new IOException("Key out of order! " + > lastKey + " > " + key); > 237 lastKey = key; > 238 > 239 > outs.println(metadata.getKeyValidator().getString(key.getKey())); > 240 checkStream(outs); // flushes > 241 } -- This message was sent by Atlassian JIRA (v6.2#6252)