[
https://issues.apache.org/jira/browse/MAPREDUCE-5384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13707575#comment-13707575
]
Karthik Kambatla commented on MAPREDUCE-5384:
---------------------------------------------
Addressing Sid's comments from MAPREDUCE-5364,
bq. The previous patch is likely better. One concern with the current patch -
'cancelled' is associated with the current RenewalTimerTask. If
removeDelegationTokenRenewalForJob tries to cancel() while a token renewal is
in progress - it effectively has no affect, since a new RenewalTimerTask would
be scheduled.
Indeed this is an issue. We should definitely fix that here, but this has
always been the case and is not a regression introduced by MAPREDUCE-4860 or
MAPREDUCE-5364.
> Race in DelegationTokenRenewal#RenewalTimerTask
> -----------------------------------------------
>
> Key: MAPREDUCE-5384
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-5384
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Affects Versions: 1.2.1
> Reporter: Karthik Kambatla
> Assignee: Karthik Kambatla
> Attachments: mr-5384-0.patch
>
>
> There are a couple of races in DelegationTokenRenewal.
> One of them was addressed by MAPREDUCE-4860, which introduced a deadlock
> while fixing this race. Opening a new JIRA per discussion in MAPREDUCE-5364,
> since MAPREDUCE-4860 is already shipped in a release.
> Races to fix:
> # TimerTask#cancel() disallows future invocations of run(), but doesn't abort
> an already scheduled/started run().
> # In the context of DelegationTokenRenewal, RenewalTimerTask#cancel() only
> cancels that TimerTask instance. However, it has no effect on any other
> TimerTasks created for that token.
--
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