[ 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