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(); }
}