[ https://issues.apache.org/jira/browse/MAPREDUCE-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844723#action_12844723 ]
Chris Douglas commented on MAPREDUCE-1376: ------------------------------------------ The attached patch, even with security disabled, did not work for me using {{RoundRobinUserResolver}} (user from trace replaced with {{<traceuser>}}, user from userlist replaced with {{<targetuser>}}): {noformat} 10/03/12 20:20:52 WARN gridmix.JobSubmitter: Failed to submit GRIDMIX00106 as <targetuser> via <traceuser> org.apache.hadoop.ipc.RemoteException: User: <traceuser> is not allowed to impersonate <targetuser> at org.apache.hadoop.ipc.Client.call(Client.java:873) at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:222) at org.apache.hadoop.mapred.$Proxy1.getProtocolVersion(Unknown Source) at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:360) at org.apache.hadoop.mapred.JobClient.createRPCProxy(JobClient.java:443) at org.apache.hadoop.mapred.JobClient.init(JobClient.java:437) at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:422) at org.apache.hadoop.mapreduce.Job$1.run(Job.java:477) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:766) at org.apache.hadoop.mapreduce.Job.connect(Job.java:475) at org.apache.hadoop.mapreduce.Job.submit(Job.java:464) at org.apache.hadoop.mapred.gridmix.GridmixJob.call(GridmixJob.java:230) at org.apache.hadoop.mapred.gridmix.JobSubmitter$SubmitTask.run(JobSubmitter.java:119) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) {noformat} Other feedback: * The following should be removed: ** This method is not used: {noformat} + private void throwException(Throwable exception) throws Throwable{ + throw exception; + } {noformat} ** GridmixJob contains a few lines with empty statements (see {{doAs}} blocks) ** {{GridmixTestUtils}} is not a useful abstraction. Its functionality should remain in/be added to {{TestGridmixSubmission}} * Consider {{Collections.emptyList()}} instead of creating and returning new, empty collections (e.g. {{EchoUserResolver}}) * {{EchoUserResolver}} only needs to extend {{ShellBasedUnixGroupsMapping}} for the unit test, right? The group mapping isn't important for the type. A separate group mapping class in test would be appropriate (presumably one already exists) * {{RoundRobinUserResolver::parseUserList}} should be protected so subclasses may override it * Since {{UserResolver}} can remain an abstract class (no need to extend any groups mapping), {{parseUserList}} can remain there. * The default policy should be {{REPLAY}}, not {{STRESS}} * {{JobSubmitter}} should not re-resolve the resolved UGI before calling {{buildSplits}}. * It is not sufficient to fix the failure above, but the job is not submitted in a {{doAs}} block. > Support for varied user submission in Gridmix > --------------------------------------------- > > Key: MAPREDUCE-1376 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-1376 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: contrib/gridmix > Reporter: Chris Douglas > Assignee: Chris Douglas > Attachments: 1376-2-yhadoop-security.patch, > 1376-yhadoop-security.patch, M1376-0.patch, M1376-1.patch, M1376-2.patch, > M1376-3.patch, M1376-4.patch > > > Gridmix currently submits all synthetic jobs as the client user. It should be > possible to map users in the trace to a set of users appropriate for the > target cluster. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.