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 2006/07/11 10:43:30 UTC
svn commit: r420764 - in /lucene/hadoop/trunk: ./
src/java/org/apache/hadoop/mapred/
Author: cutting
Date: Tue Jul 11 01:43:29 2006
New Revision: 420764
URL: http://svn.apache.org/viewvc?rev=420764&view=rev
Log:
HADOOP-339. Add a method to the JobClient API listing jobs that are not yet complete. Contributed by Mahadev.
Modified:
lucene/hadoop/trunk/CHANGES.txt
lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java
lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobStatus.java
lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobSubmissionProtocol.java
lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java
lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java
Modified: lucene/hadoop/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/CHANGES.txt?rev=420764&r1=420763&r2=420764&view=diff
==============================================================================
--- lucene/hadoop/trunk/CHANGES.txt (original)
+++ lucene/hadoop/trunk/CHANGES.txt Tue Jul 11 01:43:29 2006
@@ -10,6 +10,10 @@
2. HADOOP-313. Permit task state to be saved so that single tasks
may be manually re-executed when debugging. (omalley via cutting)
+ 3. HADOOP-339. Add method to JobClient API listing jobs that are
+ not yet complete, i.e., that are queued or running.
+ (Mahadev Konar via cutting)
+
Release 0.4.0 - 2006-06-28
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?rev=420764&r1=420763&r2=420764&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobClient.java Tue Jul 11 01:43:29 2006
@@ -314,6 +314,10 @@
return jobSubmitClient.getClusterStatus();
}
+ public JobStatus[] jobsToComplete() throws IOException {
+ return jobSubmitClient.jobsToComplete();
+ }
+
/** Utility that submits a job, then polls for progress until the job is
* complete. */
public static void runJob(JobConf job) throws IOException {
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobStatus.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobStatus.java?rev=420764&r1=420763&r2=420764&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobStatus.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobStatus.java Tue Jul 11 01:43:29 2006
@@ -26,7 +26,7 @@
*
* @author Mike Cafarella
**************************************************/
-class JobStatus implements Writable {
+public class JobStatus implements Writable {
static { // register a ctor
WritableFactories.setFactory
@@ -45,13 +45,18 @@
float mapProgress;
float reduceProgress;
int runState;
-
+ long startTime;
/**
*/
public JobStatus() {
}
/**
+ * Create a job status object for a given jobid.
+ * @param jobid The jobid of the job
+ * @param mapProgress The progress made on the maps
+ * @param reduceProgress The progress made on the reduces
+ * @param runState The current state of the job
*/
public JobStatus(String jobid, float mapProgress, float reduceProgress, int runState) {
this.jobid = jobid;
@@ -61,14 +66,47 @@
}
/**
+ * @return The jobid of the Job
*/
public String getJobId() { return jobid; }
+
+ /**
+ * @return Percentage of progress in maps
+ */
public float mapProgress() { return mapProgress; }
- public void setMapProgress(float p) { this.mapProgress = p; }
+
+ /**
+ * Sets the map progress of this job
+ * @param p The value of map progress to set to
+ */
+ void setMapProgress(float p) { this.mapProgress = p; }
+
+ /**
+ * @return Percentage of progress in reduce
+ */
public float reduceProgress() { return reduceProgress; }
- public void setReduceProgress(float p) { this.reduceProgress = p; }
+
+ /**
+ * Sets the reduce progress of this Job
+ * @param p The value of reduce progress to set to
+ */
+ void setReduceProgress(float p) { this.reduceProgress = p; }
+
+ /**
+ * @return running state of the job
+ */
public int getRunState() { return runState; }
-
+
+ /**
+ * Set the start time of the job
+ * @param startTime The startTime of the job
+ */
+ void setStartTime(long startTime) { this.startTime = startTime;};
+
+ /**
+ * @return start time of the job
+ */
+ public long getStartTime() { return startTime;};
///////////////////////////////////////
// Writable
///////////////////////////////////////
@@ -77,11 +115,13 @@
out.writeFloat(mapProgress);
out.writeFloat(reduceProgress);
out.writeInt(runState);
+ out.writeLong(startTime);
}
public void readFields(DataInput in) throws IOException {
this.jobid = UTF8.readString(in);
this.mapProgress = in.readFloat();
this.reduceProgress = in.readFloat();
this.runState = in.readInt();
+ this.startTime = in.readLong();
}
}
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobSubmissionProtocol.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobSubmissionProtocol.java?rev=420764&r1=420763&r2=420764&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobSubmissionProtocol.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobSubmissionProtocol.java Tue Jul 11 01:43:29 2006
@@ -17,6 +17,7 @@
package org.apache.hadoop.mapred;
import java.io.*;
+import java.util.*;
/**
* Protocol that a JobClient and the central JobTracker use to communicate. The
@@ -64,4 +65,11 @@
* prior to submitting the job.
*/
public String getFilesystemName() throws IOException;
+
+ /**
+ * Get the jobs that are not completed and not failed
+ * @return array of JobStatus for the running/to-be-run
+ * jobs.
+ */
+ public JobStatus[] jobsToComplete() throws IOException;
}
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java?rev=420764&r1=420763&r2=420764&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java Tue Jul 11 01:43:29 2006
@@ -1038,6 +1038,20 @@
return (String) taskidToTrackerMap.get(taskId);
}
+ public JobStatus[] jobsToComplete() {
+ Vector v = new Vector();
+ for (Iterator it = jobs.values().iterator(); it.hasNext(); ) {
+ JobInProgress jip = (JobInProgress) it.next();
+ JobStatus status = jip.getStatus();
+ if (status.getRunState() == JobStatus.RUNNING
+ || status.getRunState() == JobStatus.PREP) {
+ status.setStartTime(jip.getStartTime());
+ v.add(status);
+ }
+ }
+ return (JobStatus[]) v.toArray(new JobStatus[v.size()]);
+ }
+
///////////////////////////////////////////////////////////////
// JobTracker methods
///////////////////////////////////////////////////////////////
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java?rev=420764&r1=420763&r2=420764&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java Tue Jul 11 01:43:29 2006
@@ -210,4 +210,6 @@
public ClusterStatus getClusterStatus() {
return new ClusterStatus(1, map_tasks, reduce_tasks, 1);
}
+
+ public JobStatus[] jobsToComplete() {return null;};
}