You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Vinod Kumar Vavilapalli (JIRA)" <ji...@apache.org> on 2015/09/02 06:34:46 UTC

[jira] [Updated] (YARN-3055) The token is not renewed properly if it's shared by jobs (oozie) in DelegationTokenRenewer

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

Vinod Kumar Vavilapalli updated YARN-3055:
------------------------------------------
    Fix Version/s: 2.6.1

Pulled this into 2.6.1. Patch applied cleanly for the most part except for small merge conflict in the test-case and the usage of java7 diamond operator.

Ran compilation and TestDelegationTokenRenewer before the push.

> The token is not renewed properly if it's shared by jobs (oozie) in DelegationTokenRenewer
> ------------------------------------------------------------------------------------------
>
>                 Key: YARN-3055
>                 URL: https://issues.apache.org/jira/browse/YARN-3055
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: security
>            Reporter: Yi Liu
>            Assignee: Daryn Sharp
>            Priority: Blocker
>              Labels: 2.6.1-candidate
>             Fix For: 2.7.0, 2.6.1
>
>         Attachments: YARN-3055.001.patch, YARN-3055.002.patch, YARN-3055.patch, YARN-3055.patch
>
>
> After YARN-2964, there is only one timer to renew the token if it's shared by jobs. 
> In {{removeApplicationFromRenewal}}, when going to remove a token, and the token is shared by other jobs, we will not cancel the token. 
> Meanwhile, we should not cancel the _timerTask_, also we should not remove it from {{allTokens}}. Otherwise for the existing submitted applications which share this token will not get renew any more, and for new submitted applications which share this token, the token will be renew immediately.
> For example, we have 3 applications: app1, app2, app3. And they share the token1. See following scenario:
> *1).* app1 is submitted firstly, then app2, and then app3. In this case, there is only one token renewal timer for token1, and is scheduled when app1 is submitted
> *2).* app1 is finished, then the renewal timer is cancelled. token1 will not be renewed any more, but app2 and app3 still use it, so there is problem.



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