[
https://issues.apache.org/jira/browse/MAPREDUCE-4765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490930#comment-13490930
]
Alejandro Abdelnur commented on MAPREDUCE-4765:
-----------------------------------------------
The close should check the timer is not NULL before attempting to cancel it.
The testcase does not seem entirely correct, it assumes the DTR timer has been
already initialized.
(In trunk and Hadoop 2, there is a renewer service, thus it has a defined
lifecycle taking care of this)
> Restarting the JobTracker programmatically can cause DelegationTokenRenewal
> to throw an exception
> -------------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-4765
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-4765
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: jobtracker, mrv1
> Affects Versions: 1.1.0
> Reporter: Robert Kanter
> Assignee: Robert Kanter
> Priority: Minor
> Fix For: 1.2.0
>
> Attachments: MAPREDUCE-4765_branch-1.patch
>
>
> The DelegationTokenRenewal class has a global Timer; when you stop the
> JobTracker by calling {{stopTracker()}} on it (or {{stopJobTracker()}} in
> MiniMRCluster), the JobTracker will call {{close()}} on
> DelegationTokenRenewal, which cancels the Timer. If you then start up the
> JobTracker again by calling {{startTracker()}} on it (or
> {{startJobTracker()}} in MiniMRCluster), the Timer won't necessarily be
> re-created; and DelegationTokenRenewal will later throw an exception when it
> tries to use the Timer again (because you can't reuse a canceled Timer).
> DelegationTokenRenewal doesn't seem to be used in trunk, so we only need this
> for branch-1
--
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