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 om...@apache.org on 2011/03/04 05:49:35 UTC
svn commit: r1077733 - in
/hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred:
DefaultTaskController.java JobLocalizer.java TaskController.java
TaskTracker.java
Author: omalley
Date: Fri Mar 4 04:49:35 2011
New Revision: 1077733
URL: http://svn.apache.org/viewvc?rev=1077733&view=rev
Log:
commit 0d2feca8e07e5003e1f133df55355ff59c49c05c
Author: Devaraj Das <dd...@yahoo-inc.com>
Date: Wed Oct 6 22:02:35 2010 -0700
Fixed a problem to do with DefaultTaskController trying to authorize for the distributed cache update
Modified:
hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java
hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/JobLocalizer.java
hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskController.java
hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
Modified: hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java?rev=1077733&r1=1077732&r2=1077733&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java (original)
+++ hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java Fri Mar 4 04:49:35 2011
@@ -163,13 +163,14 @@ public class DefaultTaskController exten
* downloaded
* @param taskTracker the connection to the task tracker
* @throws IOException
+ * @throws InterruptedException
*/
@Override
public void initializeJob(String user, String jobid,
Path credentials, Path jobConf,
TaskUmbilicalProtocol taskTracker,
InetSocketAddress ttAddr
- ) throws IOException {
+ ) throws IOException, InterruptedException {
final LocalDirAllocator lDirAlloc = allocator;
FileSystem localFs = FileSystem.getLocal(getConf());
JobLocalizer localizer = new JobLocalizer((JobConf)getConf(), user, jobid);
Modified: hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/JobLocalizer.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/JobLocalizer.java?rev=1077733&r1=1077732&r2=1077733&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/JobLocalizer.java (original)
+++ hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/JobLocalizer.java Fri Mar 4 04:49:35 2011
@@ -358,15 +358,16 @@ public class JobLocalizer {
public void localizeJobFiles(JobID jobid, JobConf jConf,
Path localJobTokenFile, TaskUmbilicalProtocol taskTracker)
- throws IOException {
+ throws IOException, InterruptedException {
localizeJobFiles(jobid, jConf,
lDirAlloc.getLocalPathForWrite(JOBCONF, ttConf), localJobTokenFile,
taskTracker);
}
- public void localizeJobFiles(JobID jobid, JobConf jConf,
+ public void localizeJobFiles(final JobID jobid, JobConf jConf,
Path localJobFile, Path localJobTokenFile,
- TaskUmbilicalProtocol taskTracker) throws IOException {
+ final TaskUmbilicalProtocol taskTracker)
+ throws IOException, InterruptedException {
// Download the job.jar for this job from the system FS
localizeJobJarFile(jConf);
@@ -379,9 +380,17 @@ public class JobLocalizer {
TaskTracker.resetNumTasksPerJvm(jConf);
//setup the distributed cache
- long[] sizes = downloadPrivateCache(jConf);
+ final long[] sizes = downloadPrivateCache(jConf);
if (sizes != null) {
- taskTracker.updatePrivateDistributedCacheSizes(jobid, sizes);
+ UserGroupInformation ugi =
+ UserGroupInformation.createRemoteUser(jobid.toString());
+ ugi.doAs(new PrivilegedExceptionAction<Object>() {
+ public Object run() throws IOException {
+ taskTracker.updatePrivateDistributedCacheSizes(jobid, sizes);
+ return null;
+ }
+ });
+
}
// Create job-acls.xml file in job userlog dir and write the needed
@@ -449,7 +458,8 @@ public class JobLocalizer {
}
public int runSetup(String user, String jobid, Path localJobTokenFile,
- TaskUmbilicalProtocol taskTracker) throws IOException {
+ TaskUmbilicalProtocol taskTracker) throws IOException,
+ InterruptedException {
// load user credentials, configuration
// ASSUME
// let $x = $mapred.local.dir
Modified: hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskController.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskController.java?rev=1077733&r1=1077732&r2=1077733&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskController.java (original)
+++ hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskController.java Fri Mar 4 04:49:35 2011
@@ -92,12 +92,13 @@ public abstract class TaskController imp
* @param taskTracker the connection the task tracker
* @param ttAddr the tasktracker's RPC address
* @throws IOException
+ * @throws InterruptedException
*/
public abstract void initializeJob(String user, String jobid,
Path credentials, Path jobConf,
TaskUmbilicalProtocol taskTracker,
InetSocketAddress ttAddr)
- throws IOException;
+ throws IOException, InterruptedException;
/**
* Create all of the directories for the task and launches the child jvm.
Modified: hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskTracker.java?rev=1077733&r1=1077732&r2=1077733&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskTracker.java (original)
+++ hadoop/common/branches/branch-0.20-security-patches/src/mapred/org/apache/hadoop/mapred/TaskTracker.java Fri Mar 4 04:49:35 2011
@@ -1027,7 +1027,7 @@ public class TaskTracker implements MRCo
* To support potential authenticated HDFS accesses, we need the tokens
*/
rjob.ugi.doAs(new PrivilegedExceptionAction<Object>() {
- public Object run() throws IOException {
+ public Object run() throws IOException, InterruptedException {
try {
final JobConf localJobConf = new JobConf(localJobFile);
// Setup the public distributed cache
@@ -1057,6 +1057,10 @@ public class TaskTracker implements MRCo
LOG.warn("Exception while localization " +
StringUtils.stringifyException(e));
throw e;
+ } catch (InterruptedException ie) {
+ LOG.warn("Exception while localization " +
+ StringUtils.stringifyException(ie));
+ throw ie;
}
return null;
}