[
https://issues.apache.org/jira/browse/YARN-3103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14294346#comment-14294346
]
Jian He commented on YARN-3103:
-------------------------------
bq. I'm missing how we're going to remove the old token with teh empty service
name if Credentials doesn't let you remove tokens?
We may need to expose UserGroupInformation#getCredentialsInternal to be public
and add a Credentials#removeToken method which can remove the token from the
Credentials#tokenMap, ClientRMProxy call
{{UserGroupInformation#getCurrentUser()#getCredentialsInternal#removeToken(serviceName)}},
though this doesn't look good..
bq. Unfortunately I don't think it's guaranteed, since the client doesn't seem
to need it to function properly.
right. today cluster ID is defined in yarn-site.xml. It's not guaranteed each
AM has the right cluster ID defined in its yarn-site.xml;
> AMRMClientImpl does not update AMRM token properly
> --------------------------------------------------
>
> Key: YARN-3103
> URL: https://issues.apache.org/jira/browse/YARN-3103
> Project: Hadoop YARN
> Issue Type: Bug
> Components: client
> Affects Versions: 2.6.0
> Reporter: Jason Lowe
> Assignee: Jason Lowe
> Priority: Blocker
>
> AMRMClientImpl.updateAMRMToken updates the token service _before_ storing it
> to the credentials, so the token is mapped using the newly updated service
> rather than the empty service that was used when the RM created the original
> AMRM token. This leads to two AMRM tokens in the credentials and can still
> fail if the AMRMTokenSelector picks the wrong one.
> In addition the AMRMClientImpl grabs the login user rather than the current
> user when security is enabled, so it's likely the UGI being updated is not
> the UGI that will be used when reconnecting to the RM.
> The end result is that AMs can fail with invalid token errors when trying to
> reconnect to an RM after a new AMRM secret has been activated.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)