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

Reply via email to