[ 
https://issues.apache.org/jira/browse/MAHOUT-1467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Avi Shinnar updated MAHOUT-1467:
--------------------------------

    Description: 
The org.apache.mahout.clustering.classify.ClusterClassifier.readPolicy method 
leaks file handles.

This leak causes a serious problems in setups that reuse JVMs for multiple 
tasks (as with "mapred.job.reuse.jvm.num.tasks").

In more detail:
The org.apache.mahout.clustering.classify.ClusterClassifier class has  static 
methods to read policies: readPolicy.

It opens a SequenceFile.Reader and reads from it, and then neglects to close it.

suggested fix:
add a call to reader.close() before the return statement in readPolicy

  was:
org.apache.mahout.clustering.classify.ClusterClassifier.readPolicy/writePolicy 
methods leak file handles.

This leak causes a serious problems in setups that reuse JVMs for multiple 
tasks (as with "mapred.job.reuse.jvm.num.tasks").

In more detail:
The org.apache.mahout.clustering.classify.ClusterClassifier class has  static 
methods to read/write policies: readPolicy and writePolicy

Both of them open a SequenceFile.Reader/Writer and read/write from/to it, and 
then neglect to close it.

suggested fix:
add a call to reader.close() before the return statement in readPolicy
and
add a call to writer.close() before the return statement in writePolicy



        Summary: ClusterClassifier readPolicy leaks file handles  (was: 
ClusterClassifier read/writePolicy leak file handles)

Incorrectly attributed a problem to writePolicy as well -- the problem is only 
with readPolicy (writePolicy does close the writer)

> ClusterClassifier readPolicy leaks file handles
> -----------------------------------------------
>
>                 Key: MAHOUT-1467
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1467
>             Project: Mahout
>          Issue Type: Bug
>          Components: Clustering
>    Affects Versions: 0.9
>            Reporter: Avi Shinnar
>
> The org.apache.mahout.clustering.classify.ClusterClassifier.readPolicy method 
> leaks file handles.
> This leak causes a serious problems in setups that reuse JVMs for multiple 
> tasks (as with "mapred.job.reuse.jvm.num.tasks").
> In more detail:
> The org.apache.mahout.clustering.classify.ClusterClassifier class has  static 
> methods to read policies: readPolicy.
> It opens a SequenceFile.Reader and reads from it, and then neglects to close 
> it.
> suggested fix:
> add a call to reader.close() before the return statement in readPolicy



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to