From 0b4c8a58753da6c2649acd1ded6718717776a3d9 Mon Sep 17 00:00:00 2001 From: Alejandro Abdelnur Date: Wed, 27 Jun 2012 18:33:38 +0000 Subject: [PATCH] Reverting MAPREDUCE-4346 git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1354658 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-mapreduce-project/CHANGES.txt | 2 - ...obClient.java => TestJobClientGetJob.java} | 22 +-------- .../org/apache/hadoop/mapred/JobClient.java | 47 +++++-------------- .../org/apache/hadoop/mapreduce/Cluster.java | 15 +----- 4 files changed, 16 insertions(+), 70 deletions(-) rename hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapred/{TestJobClient.java => TestJobClientGetJob.java} (71%) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index e38d6e10615..3a14a261ef7 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -6,8 +6,6 @@ Release 2.0.1-alpha - UNRELEASED NEW FEATURES - MAPREDUCE-4355. Add JobStatus getJobStatus(JobID) to JobClient. (kkambatl via tucu) - IMPROVEMENTS MAPREDUCE-4146. Support limits on task status string length and number of diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapred/TestJobClient.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapred/TestJobClientGetJob.java similarity index 71% rename from hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapred/TestJobClient.java rename to hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapred/TestJobClientGetJob.java index 87afeb326c5..f929e4f4a8e 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapred/TestJobClient.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapred/TestJobClientGetJob.java @@ -19,7 +19,6 @@ package org.apache.hadoop.mapred; import static junit.framework.Assert.assertNotNull; -import static org.junit.Assert.assertEquals; import java.io.IOException; @@ -29,7 +28,7 @@ import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.junit.Test; -public class TestJobClient { +public class TestJobClientGetJob { private static Path TEST_ROOT_DIR = new Path(System.getProperty("test.build.data","/tmp")); @@ -46,7 +45,7 @@ public class TestJobClient { @SuppressWarnings("deprecation") @Test - public void testGetRunningJob() throws Exception { + public void testGetRunningJobFromJobClient() throws Exception { JobConf conf = new JobConf(); conf.set("mapreduce.framework.name", "local"); FileInputFormat.addInputPath(conf, createTempFile("in", "hello")); @@ -61,21 +60,4 @@ public class TestJobClient { assertNotNull("New running job", newRunningJob); } - @SuppressWarnings("deprecation") - @Test - public void testGetJobStatus() throws Exception { - JobConf conf = new JobConf(); - conf.set("mapreduce.framework.name", "local"); - FileInputFormat.addInputPath(conf, createTempFile("in", "hello")); - Path outputDir = new Path(TEST_ROOT_DIR, getClass().getSimpleName()); - outputDir.getFileSystem(conf).delete(outputDir, true); - FileOutputFormat.setOutputPath(conf, outputDir); - JobClient jc = new JobClient(conf); - RunningJob runningJob = jc.submitJob(conf); - assertNotNull("Running job", runningJob); - JobID jobid = runningJob.getID(); - JobStatus jobStatus = jc.getJobStatus(jobid); - assertNotNull("New running job", jobStatus); - assertEquals("Equal JobIDs", jobid, jobStatus.getJobID()); - } } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JobClient.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JobClient.java index d6961a1d919..1e3f952303e 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JobClient.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JobClient.java @@ -620,15 +620,6 @@ public class JobClient extends CLI { } } - private JobStatus getJobStatusUsingCluster(final JobID jobId) - throws IOException, InterruptedException { - return clientUgi.doAs(new PrivilegedExceptionAction() { - public JobStatus run() throws IOException, InterruptedException { - return JobStatus.downgrade(cluster.getJobStatus(jobId)); - } - }); - } - private Job getJobUsingCluster(final JobID jobid) throws IOException, InterruptedException { return clientUgi.doAs(new PrivilegedExceptionAction() { @@ -637,40 +628,28 @@ public class JobClient extends CLI { } }); } - /** - * Get {@link JobStatus} of a job. Returns null if the id does not correspond - * to any known job. + * Get an {@link RunningJob} object to track an ongoing job. Returns + * null if the id does not correspond to any known job. * - * @param jobid - * the jobid of the job. - * @return the {@link JobStatus} object to retrieve the job stats, null if the + * @param jobid the jobid of the job. + * @return the {@link RunningJob} handle to track the job, null if the * jobid doesn't correspond to any known job. * @throws IOException */ - public JobStatus getJobStatus(JobID jobId) throws IOException { + public RunningJob getJob(final JobID jobid) throws IOException { try { - return getJobStatusUsingCluster(jobId); + + Job job = getJobUsingCluster(jobid); + if (job != null) { + JobStatus status = JobStatus.downgrade(job.getStatus()); + if (status != null) { + return new NetworkedJob(status, cluster); + } + } } catch (InterruptedException ie) { throw new IOException(ie); } - } - - /** - * Get an {@link RunningJob} object to track an ongoing job. Returns null if - * the id does not correspond to any known job. - * - * @param jobid - * the jobid of the job. - * @return the {@link RunningJob} handle to track the job, null if the - * jobid doesn't correspond to any known job. - * @throws IOException - */ - public RunningJob getJob(JobID jobId) throws IOException { - JobStatus status = getJobStatus(jobId); - if (status != null) { - return new NetworkedJob(status, cluster); - } return null; } diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Cluster.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Cluster.java index a3aee695501..e456a7afa88 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Cluster.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Cluster.java @@ -172,19 +172,6 @@ public class Cluster { return fs; } - /** - * Get JobStatus corresponding to jobId. - * - * @param jobId - * @return object of {@link JobStatus} - * @throws IOException - * @throws InterruptedException - */ - public JobStatus getJobStatus(JobID jobId) throws IOException, - InterruptedException { - return client.getJobStatus(jobId); - } - /** * Get job corresponding to jobid. * @@ -194,7 +181,7 @@ public class Cluster { * @throws InterruptedException */ public Job getJob(JobID jobId) throws IOException, InterruptedException { - JobStatus status = getJobStatus(jobId); + JobStatus status = client.getJobStatus(jobId); if (status != null) { return Job.getInstance(this, status, new JobConf(status.getJobFile())); }