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

Daryn Sharp commented on HADOOP-9409:
-------------------------------------

bq. Oozie is passing in a non-null renewer for the RM call to have worked 
(ignore my last post - didn't notice the failure was on the HS token).

Yes, it must have passed a non-null value for the RM token request - I verified 
the RM token request also NPEs on null renewer.  This begs the question of 
where is oozie obtaining the renewer to send?  A hardcoded value?

bq.  Whether we should return a token if security is disabled is another 
matter. This should likely be null, but that would be a backward incompatible 
change.

Sorry, I didn't mean to imply returning a token with security off.  I only 
meant it's correct for a non-secure server to return null to signify "no token 
required".  I think we are in agreement on that point?  Or do you believe 
returning null is backwards incompat too?  If so, why?

bq.  We should likely revert part of MAPREDUCE-4921, to fall back to using the 
specified renewer if it can't figure out a valid one.

A basic question to ponder is whether we should allow the submitter to "shoot 
themselves in the foot" with the wrong renewer?  If no, a trivial and arguably 
hacky solution might be for the HS token request to sub a null renewer with an 
empty {{Text}}?

In any case, it will be useful to know what renewer is oozie passing for the RM 
token?
                
> MR Client gets an renewer token exception while Oozie is submitting a job
> -------------------------------------------------------------------------
>
>                 Key: HADOOP-9409
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9409
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.0.3-alpha
>            Reporter: Roman Shaposhnik
>            Priority: Blocker
>             Fix For: 2.0.4-alpha
>
>
> 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