[ 
https://issues.apache.org/jira/browse/MAPREDUCE-5088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13609254#comment-13609254
 ] 

Daryn Sharp commented on MAPREDUCE-5088:
----------------------------------------

bq. I think the RM token will be present when the oozie launcher submits a job 
(that's when it's really required). Trying to get a history token at that point 
will end up failing since krb auth isn't available

Aarg, good catch.

bq. This is a private key (should at least be annotated if it isn't already). 
Maybe we need to change the method to getDelgationTokens and deprecate the 
current method.

Unfortunately you can see in the patch that I removed it and it's not 
annotated, but annotations haven't stopped anyone in the past...  If we are 
going to change the api, I'd rather match 
{{FileSystem#addDelegationTokens(renewer, creds)}} because ideally that could 
be an interface.  I'd also favor a conf setting to trigger the new 
{{addDelegationTokens}}.  Job submitters really shouldn't have to deal with 
managing tokens - I mean just look at the contortions oozie has to do!  Ideally 
tokens should be a transparent implementation detail.  That would make other 
component maintainers life easier, as well as mine.

Should we make a compatible fix here, and file another jira for a better fix, 
to avoid a co-dep on oozie?
                
> MR Client gets an renewer token exception while Oozie is submitting a job
> -------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5088
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5088
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 2.0.3-alpha
>            Reporter: Roman Shaposhnik
>            Assignee: Daryn Sharp
>            Priority: Blocker
>             Fix For: 2.0.4-alpha
>
>         Attachments: HADOOP-9409.patch, HADOOP-9409.patch, 
> MAPREDUCE-5088.patch
>
>
> After the fix for HADOOP-9299 I'm now getting the following bizzare exception 
> in Oozie while trying to submit a job. This also seems to be KRB related:
> {noformat}
> 2013-03-15 13:34:16,555  WARN ActionStartXCommand:542 - USER[hue] GROUP[-] 
> TOKEN[] APP[MapReduce] JOB[0000001-130315123130987-oozie-oozi-W] 
> ACTION[0000001-130315123130987-oozie-oozi-W@Sleep] Error starting action 
> [Sleep]. ErrorType [ERROR], ErrorCode [UninitializedMessageException], 
> Message [UninitializedMessageException: Message missing required fields: 
> renewer]
> org.apache.oozie.action.ActionExecutorException: 
> UninitializedMessageException: Message missing required fields: renewer
>       at 
> org.apache.oozie.action.ActionExecutor.convertException(ActionExecutor.java:401)
>       at 
> org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:738)
>       at 
> org.apache.oozie.action.hadoop.JavaActionExecutor.start(JavaActionExecutor.java:889)
>       at 
> org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:211)
>       at 
> org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:59)
>       at org.apache.oozie.command.XCommand.call(XCommand.java:277)
>       at 
> org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:326)
>       at 
> org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:255)
>       at 
> org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:175)
>       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:662)
> Caused by: com.google.protobuf.UninitializedMessageException: Message missing 
> required fields: renewer
>       at 
> com.google.protobuf.AbstractMessage$Builder.newUninitializedMessageException(AbstractMessage.java:605)
>       at 
> org.apache.hadoop.security.proto.SecurityProtos$GetDelegationTokenRequestProto$Builder.build(SecurityProtos.java:973)
>       at 
> org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetDelegationTokenRequestPBImpl.mergeLocalToProto(GetDelegationTokenRequestPBImpl.java:84)
>       at 
> org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetDelegationTokenRequestPBImpl.getProto(GetDelegationTokenRequestPBImpl.java:67)
>       at 
> org.apache.hadoop.mapreduce.v2.api.impl.pb.client.MRClientProtocolPBClientImpl.getDelegationToken(MRClientProtocolPBClientImpl.java:200)
>       at 
> org.apache.hadoop.mapred.YARNRunner.getDelegationTokenFromHS(YARNRunner.java:194)
>       at org.apache.hadoop.mapred.YARNRunner.submitJob(YARNRunner.java:273)
>       at 
> org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:392)
>       at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1218)
>       at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1215)
>       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:1439)
>       at org.apache.hadoop.mapreduce.Job.submit(Job.java:1215)
>       at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:581)
>       at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:576)
>       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:1439)
>       at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:576)
>       at 
> org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:723)
>       ... 10 more
> 2013-03-15 13:34:16,555  WARN ActionStartXCommand:542 - USER[hue] GROUP[-] 
> TOKEN[] APP[MapReduce] JOB[0000001-13031512313
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to