[
https://issues.apache.org/jira/browse/MAPREDUCE-2764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13079654#comment-13079654
]
Jitendra Nath Pandey commented on MAPREDUCE-2764:
-------------------------------------------------
1. The patch introduces some refactoring around token selector, and also
probably code cleanup in HftpFileSystem.java, but it would be good if that is
done in a separate jira. This will keep this patch smaller and focused.
2. I like the idea to store uri in the token which is issuer of the token. So
going forward we have two things in the token:
- service: where the token should be used. This should contain rpc port. This
remains same as we have today, so no changes should be needed to set/getService
APIs.
- issuer: The uri of the file system that issued this token and add
set/getIssuer APIs to the Token.
Can we rename serviceUri to something like issuer or something else, just to
differentiate it from service.
So, the DelegationTokenRenewal looks at the issuer, while token selectors
continue to use service, as they do today.
3. I will recommend the issuer should be set by every filesystem that
implements getDelegationToken.
4. So we add only two APIs to Token: set/getIssuer. We don't need to add others
like getServiceAuthority.
5. The patch didn't compile for me. Probably a typo in
TestDelegationTokenRenewal.
> Fix renewal of dfs delegation tokens
> ------------------------------------
>
> Key: MAPREDUCE-2764
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2764
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Reporter: Daryn Sharp
> Assignee: Daryn Sharp
> Fix For: 0.20.205.0
>
> Attachments: MAPREDUCE-2764.patch
>
>
> The JT may have issues renewing hftp tokens which disrupt long distcp jobs.
> The problem is the JT's delegation token renewal code is built on brittle
> assumptions. The token's service field contains only the "ip:port" pair.
> The renewal process assumes that the scheme must be hdfs. If that fails due
> to a {{VersionMismatchException}}, it tries https based on another assumption
> that it must be hftp if it's not hdfs. A number of other exceptions, most
> commonly {{IOExceptions}}, can be generated which fouls up the renewal since
> it won't fallback to https.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira