Browse Source

commit 6dde36341fa7aa184138e921df2e0c441082cc31
Author: Vinod Kumar <vinodkv@yahoo-inc.com>
Date: Sat Mar 20 00:01:23 2010 +0530

MAPREDUCE-1612 from https://issues.apache.org/jira/secure/attachment/12439310/jobconf_history_jsp.fix.20S.patch

+++ b/YAHOO-CHANGES.txt
+ MAPREDUCE-1612. job conf file is not accessible from job history
+ web page. (Ravi Gummadi via vinodkv)
+


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-patches@1077346 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley 14 years ago
parent
commit
a18c8585b5

+ 4 - 0
src/test/org/apache/hadoop/mapred/TestWebUIAuthorization.java

@@ -262,6 +262,10 @@ public class TestWebUIAuthorization extends ClusterMapReduceTestCase {
         String.valueOf(true));
         String.valueOf(true));
     props.setProperty("dfs.permissions", "false");
     props.setProperty("dfs.permissions", "false");
 
 
+    // Let us have history files on HDFS
+    props.setProperty("mapred.job.tracker.history.completed.location",
+        "historyDoneFolderOnHDFS");
+
     props.setProperty(JobConf.MR_SUPERGROUP, "superGroup");
     props.setProperty(JobConf.MR_SUPERGROUP, "superGroup");
 
 
     MyGroupsProvider.mapping.put(jobSubmitter, Arrays.asList("group1"));
     MyGroupsProvider.mapping.put(jobSubmitter, Arrays.asList("group1"));

+ 5 - 16
src/webapps/job/jobconf_history.jsp

@@ -44,22 +44,11 @@
     jobFile = fs.open(jobFilePath);
     jobFile = fs.open(jobFilePath);
     JobConf jobConf = new JobConf(jobFilePath);
     JobConf jobConf = new JobConf(jobFilePath);
     JobTracker jobTracker = (JobTracker) application.getAttribute("job.tracker");
     JobTracker jobTracker = (JobTracker) application.getAttribute("job.tracker");
-    String user = request.getRemoteUser();
-    if (user != null) {
-      try {
-        jobTracker.getJobACLsManager().checkAccess(JobID.forName(jobId),
-            UserGroupInformation.createRemoteUser(user), JobACL.VIEW_JOB,
-            jobConf.getUser(),
-            new AccessControlList(jobConf.get(JobACL.VIEW_JOB.getAclName())));
-        } catch (AccessControlException e) {
-          String errMsg =
-            user
-                + " is not authorized to view details of job "
-                + jobId
-                + "<hr><a href=\"jobhistory.jsp\">Go back to JobHistory</a><br>";
-        JSPUtil.setErrorAndForward(errMsg, request, response);
-        return;
-        }
+
+    JobHistory.JobInfo job = JSPUtil.checkAccessAndGetJobInfo(request,
+        response, jobTracker, fs, logFile);
+    if (job == null) {
+      return;
     }
     }
 
 
     XMLUtils.transform(
     XMLUtils.transform(