hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Lowe (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MAPREDUCE-6621) Memory Leak in JobClient#submitJobInternal()
Date Tue, 02 Feb 2016 19:34:40 GMT

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

Jason Lowe updated MAPREDUCE-6621:
----------------------------------
       Resolution: Fixed
     Hadoop Flags: Reviewed
    Fix Version/s: 2.6.4
                   2.7.3
           Status: Resolved  (was: Patch Available)

Thanks, Xuan!  I committed this to trunk, branch-2, branch-2.8, branch-2.7, and branch-2.6.

> Memory Leak in JobClient#submitJobInternal()
> --------------------------------------------
>
>                 Key: MAPREDUCE-6621
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6621
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>            Reporter: Xuan Gong
>            Assignee: Xuan Gong
>             Fix For: 2.7.3, 2.6.4
>
>         Attachments: MAPREDUCE-6621.1.patch, MAPREDUCE-6621.2.patch
>
>
> In JobClient:
> {code}
> public RunningJob submitJobInternal(final JobConf conf)
>       throws FileNotFoundException, IOException {
>     try {
>       conf.setBooleanIfUnset("mapred.mapper.new-api", false);
>       conf.setBooleanIfUnset("mapred.reducer.new-api", false);
>       Job job = clientUgi.doAs(new PrivilegedExceptionAction<Job> () {
>         @Override
>         public Job run() throws IOException, ClassNotFoundException, 
>           InterruptedException {
>           Job job = Job.getInstance(conf);
>           job.submit();
>           return job;
>         }
>       });
>       // update our Cluster instance with the one created by Job for submission
>       // (we can't pass our Cluster instance to Job, since Job wraps the config
>       // instance, and the two configs would then diverge)
>       cluster = job.getCluster();
>       return new NetworkedJob(job);
>     } catch (InterruptedException ie) {
>       throw new IOException("interrupted", ie);
>     }
>   }
> {code}
> We will replace the cluster object with the cluster object from Job, but the previous
old cluster object would never be closed.



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

Mime
View raw message