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

Xuan Gong updated MAPREDUCE-6621:
---------------------------------
    Description: 
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.

> Memory Link 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
>
> 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)

Reply via email to