You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Xiao Chen (JIRA)" <ji...@apache.org> on 2016/06/02 03:08:59 UTC

[jira] [Updated] (HADOOP-13155) Implement TokenRenewer to renew and cancel delegation tokens in KMS

     [ https://issues.apache.org/jira/browse/HADOOP-13155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xiao Chen updated HADOOP-13155:
-------------------------------
    Attachment: HADOOP-13155.07.patch

Thanks again [~andrew.wang] for the discussion, and for getting HADOOP-13228 in.
Attached patch 7 is a rebase on latest trunk.

Regarding the config and compat:
- {{DFSUtilClient}} now has a static variable for storing the config name, and defaults to dfs._ for compat. It can be set via {{DFSUtilClient#setKeyProviderUriKeyName}}.
- The provider creation logic is extracted to a new class {{KMSUtil}} in common.
- The newly added renewer classes uses {{KMSUtil}}, but since they're in common, they use the hadoop._ configs. Of course, this means one will need to have both configs set correctly so that the token can be renewed, but this seems to be the most compatible way.

> Implement TokenRenewer to renew and cancel delegation tokens in KMS
> -------------------------------------------------------------------
>
>                 Key: HADOOP-13155
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13155
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Xiao Chen
>            Assignee: Xiao Chen
>         Attachments: HADOOP-13155.01.patch, HADOOP-13155.02.patch, HADOOP-13155.03.patch, HADOOP-13155.04.patch, HADOOP-13155.05.patch, HADOOP-13155.06.patch, HADOOP-13155.07.patch, HADOOP-13155.pre.patch
>
>
> Service DelegationToken (DT) renewal is done in Yarn by {{org.apache.hadoop.yarn.server.resourcemanager.security.DelegationTokenRenewer}}, where it calls {{Token#renew}} and uses ServiceLoader to find the renewer class ([code|https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/Token.java#L382]), and invokes the renew method from it.
> We seem to miss the token renewer class in KMS / HttpFSFileSystem, and hence Yarn defaults to {{TrivialRenewer}} for DT of such kinds, resulting in the token not being renewed.
> As a side note, {{HttpFSFileSystem}} does have a {{renewDelegationToken}} API, but I don't see it invoked in hadoop code base. KMS does not have any renew hook.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org