You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cu...@apache.org on 2007/01/31 23:43:45 UTC

svn commit: r502029 - in /lucene/hadoop/trunk: ./ src/java/org/apache/hadoop/mapred/ src/test/org/apache/hadoop/mapred/

Author: cutting
Date: Wed Jan 31 14:43:44 2007
New Revision: 502029

URL: http://svn.apache.org/viewvc?view=rev&rev=502029
Log:
HADOOP-549.  Fix a NullPointerException in TaskReport's serialization.  Contributed by Owen.

Modified:
    lucene/hadoop/trunk/CHANGES.txt
    lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/InterTrackerProtocol.java
    lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java
    lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/TaskReport.java
    lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRLocalFS.java

Modified: lucene/hadoop/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/CHANGES.txt?view=diff&rev=502029&r1=502028&r2=502029
==============================================================================
--- lucene/hadoop/trunk/CHANGES.txt (original)
+++ lucene/hadoop/trunk/CHANGES.txt Wed Jan 31 14:43:44 2007
@@ -122,6 +122,9 @@
     add a README; make the environment file use a template.
     (Tom White via cutting)
 
+38. HADOOP-549.  Fix a NullPointerException in TaskReport's
+    serialization.  (omalley via cutting)
+
 
 Release 0.10.1 - 2007-01-10
 

Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/InterTrackerProtocol.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/InterTrackerProtocol.java?view=diff&rev=502029&r1=502028&r2=502029
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/InterTrackerProtocol.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/InterTrackerProtocol.java Wed Jan 31 14:43:44 2007
@@ -31,8 +31,9 @@
    * version 3 introduced to replace 
    * emitHearbeat/pollForNewTask/pollForTaskWithClosedJob with
    * {@link #heartbeat(TaskTrackerStatus, boolean, boolean, short)}
+   * version 4 changed TaskReport for HADOOP-549.
    */
-  public static final long versionID = 3L;
+  public static final long versionID = 4L;
   
   public final static int TRACKERS_OK = 0;
   public final static int UNKNOWN_TASKTRACKER = 1;

Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java?view=diff&rev=502029&r1=502028&r2=502029
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java Wed Jan 31 14:43:44 2007
@@ -349,12 +349,30 @@
         }
     }
 
+    /**
+     * Get the information of the current state of the map tasks of a job.
+     * @param jobId the job to query
+     * @return the list of all of the map tips
+     */
+    public TaskReport[] getMapTaskReports(String jobId) throws IOException {
+      return jobSubmitClient.getMapTaskReports(jobId);
+    }
+    
+    /**
+     * Get the information of the current state of the reduce tasks of a job.
+     * @param jobId the job to query
+     * @return the list of all of the map tips
+     */    
+    public TaskReport[] getReduceTaskReports(String jobId) throws IOException {
+      return jobSubmitClient.getReduceTaskReports(jobId);
+    }
+    
     public ClusterStatus getClusterStatus() throws IOException {
       return jobSubmitClient.getClusterStatus();
     }
     
     public JobStatus[] jobsToComplete() throws IOException {
-	return jobSubmitClient.jobsToComplete();
+      return jobSubmitClient.jobsToComplete();
     }
     
     /** Utility that submits a job, then polls for progress until the job is

Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/TaskReport.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/TaskReport.java?view=diff&rev=502029&r1=502028&r2=502029
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/TaskReport.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/TaskReport.java Wed Jan 31 14:43:44 2007
@@ -84,23 +84,21 @@
   // Writable
   //////////////////////////////////////////////
   public void write(DataOutput out) throws IOException {
-    UTF8.writeString(out, taskid);
+    Text.writeString(out, taskid);
     out.writeFloat(progress);
-    UTF8.writeString(out, state);
+    Text.writeString(out, state);
     out.writeLong(startTime);
     out.writeLong(finishTime);
-    new ObjectWritable(diagnostics).write(out);
+    WritableUtils.writeStringArray(out, diagnostics);
   }
 
   public void readFields(DataInput in) throws IOException {
-    this.taskid = UTF8.readString(in);
+    this.taskid = Text.readString(in);
     this.progress = in.readFloat();
-    this.state = UTF8.readString(in);
+    this.state = Text.readString(in);
     this.startTime = in.readLong(); 
     this.finishTime = in.readLong() ;
     
-    ObjectWritable wrapper = new ObjectWritable();
-    wrapper.readFields(in);
-    diagnostics = (String[])wrapper.get();
+    diagnostics = WritableUtils.readStringArray(in);
   }
 }

Modified: lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRLocalFS.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRLocalFS.java?view=diff&rev=502029&r1=502028&r2=502029
==============================================================================
--- lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRLocalFS.java (original)
+++ lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRLocalFS.java Wed Jan 31 14:43:44 2007
@@ -47,6 +47,12 @@
                                                     + "red fox sox\n");
           // assert the number of lines read during caching
           assertTrue("Failed test archives not matching", ret);
+          // test the task report fetchers
+          JobClient client = new JobClient(jconf);
+          TaskReport[] reports = client.getMapTaskReports("job_0001");
+          assertEquals("number of maps", 10, reports.length);
+          reports = client.getReduceTaskReports("job_0001");
+          assertEquals("number of reduces", 1, reports.length);
       } finally {
           if (mr != null) { mr.shutdown(); }
       }