Author: acmurthy
Date: Thu Jan 15 16:32:26 2009
New Revision: 734871

URL: http://svn.apache.org/viewvc?rev=734871&view=rev
Log:
Merge -r 734869:734870 from trunk to branch-0.20 to fix HADOOP-4906.

Modified:
    hadoop/core/branches/branch-0.20/   (props changed)
    hadoop/core/branches/branch-0.20/CHANGES.txt   (contents, props changed)
    
hadoop/core/branches/branch-0.20/src/mapred/org/apache/hadoop/mapred/TaskTracker.java

Propchange: hadoop/core/branches/branch-0.20/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 15 16:32:26 2009
@@ -1,2 +1,2 @@
 /hadoop/core/branches/branch-0.19:713112
-/hadoop/core/trunk:727001,727117,727191,727212,727217,727228,727255,727869,728187,729052,729987,732385,732572,732777,732838,732869,733887
+/hadoop/core/trunk:727001,727117,727191,727212,727217,727228,727255,727869,728187,729052,729987,732385,732572,732777,732838,732869,733887,734870

Modified: hadoop/core/branches/branch-0.20/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/CHANGES.txt?rev=734871&r1=734870&r2=734871&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.20/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.20/CHANGES.txt Thu Jan 15 16:32:26 2009
@@ -583,6 +583,9 @@
     HADOOP-5008. TestReplication#testPendingReplicationRetry leaves an opened
     fd unclosed. (hairong)
 
+    HADOOP-4906. Fix TaskTracker OOM by keeping a shallow copy of JobConf in
+    TaskTracker.TaskInProgress. (Sharad Agarwal via acmurthy) 
+
 Release 0.19.0 - 2008-11-18
 
   INCOMPATIBLE CHANGES

Propchange: hadoop/core/branches/branch-0.20/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 15 16:32:26 2009
@@ -1,3 +1,3 @@
 /hadoop/core/branches/branch-0.18/CHANGES.txt:727226
 /hadoop/core/branches/branch-0.19/CHANGES.txt:713112
-/hadoop/core/trunk/CHANGES.txt:727001,727117,727191,727212,727228,727255,727869,728187,729052,729987,732385,732572,732777,732838,732869,733887
+/hadoop/core/trunk/CHANGES.txt:727001,727117,727191,727212,727228,727255,727869,728187,729052,729987,732385,732572,732777,732838,732869,733887,734870

Modified: 
hadoop/core/branches/branch-0.20/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
URL: 
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/src/mapred/org/apache/hadoop/mapred/TaskTracker.java?rev=734871&r1=734870&r2=734871&view=diff
==============================================================================
--- 
hadoop/core/branches/branch-0.20/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
 (original)
+++ 
hadoop/core/branches/branch-0.20/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
 Thu Jan 15 16:32:26 2009
@@ -372,15 +372,13 @@
       }, "taskCleanup");
     
   private RunningJob addTaskToJob(JobID jobId, 
-                                  Path localJobFile,
                                   TaskInProgress tip) {
     synchronized (runningJobs) {
       RunningJob rJob = null;
       if (!runningJobs.containsKey(jobId)) {
-        rJob = new RunningJob(jobId, localJobFile);
+        rJob = new RunningJob(jobId);
         rJob.localized = false;
         rJob.tasks = new HashSet<TaskInProgress>();
-        rJob.jobFile = localJobFile;
         runningJobs.put(jobId, rJob);
       } else {
         rJob = runningJobs.get(jobId);
@@ -762,7 +760,7 @@
                                     + Path.SEPARATOR + jobId 
                                     + Path.SEPARATOR + "job.xml"),
                                     jobFileSize, fConf);
-    RunningJob rjob = addTaskToJob(jobId, localJobFile, tip);
+    RunningJob rjob = addTaskToJob(jobId, tip);
     synchronized (rjob) {
       if (!rjob.localized) {
   
@@ -830,9 +828,10 @@
         rjob.keepJobFiles = ((localJobConf.getKeepTaskFilesPattern() != null) 
||
                              localJobConf.getKeepFailedTaskFiles());
         rjob.localized = true;
+        rjob.jobConf = localJobConf;
       }
     }
-    launchTaskForJob(tip, new JobConf(rjob.jobFile)); 
+    launchTaskForJob(tip, new JobConf(rjob.jobConf)); 
   }
 
   private void launchTaskForJob(TaskInProgress tip, JobConf jobConf) throws 
IOException{
@@ -2600,24 +2599,19 @@
    */
   static class RunningJob{
     private JobID jobid; 
-    private Path jobFile;
+    private JobConf jobConf;
     // keep this for later use
     volatile Set<TaskInProgress> tasks;
     boolean localized;
     boolean keepJobFiles;
     FetchStatus f;
-    RunningJob(JobID jobid, Path jobFile) {
+    RunningJob(JobID jobid) {
       this.jobid = jobid;
       localized = false;
       tasks = new HashSet<TaskInProgress>();
-      this.jobFile = jobFile;
       keepJobFiles = false;
     }
       
-    Path getJobFile() {
-      return jobFile;
-    }
-      
     JobID getJobID() {
       return jobid;
     }


Reply via email to