Hadoop Map/Reduce
  1. Hadoop Map/Reduce
  2. MAPREDUCE-4765

Restarting the JobTracker programmatically can cause DelegationTokenRenewal to throw an exception

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.1.0
    • Fix Version/s: 1.2.0
    • Component/s: jobtracker, mrv1
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      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

      1. MAPREDUCE-4765_branch-1.patch
        2 kB
        Robert Kanter
      2. MAPREDUCE-4765_branch-1.patch
        2 kB
        Robert Kanter

        Activity

        Hide
        Matt Foley added a comment -

        Closed upon release of Hadoop 1.2.0.

        Show
        Matt Foley added a comment - Closed upon release of Hadoop 1.2.0.
        Hide
        Alejandro Abdelnur added a comment -

        Thanks Robert. Committed to branch-1

        Show
        Alejandro Abdelnur added a comment - Thanks Robert. Committed to branch-1
        Hide
        Alejandro Abdelnur added a comment -

        +1

        Show
        Alejandro Abdelnur added a comment - +1
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12552191/MAPREDUCE-4765_branch-1.patch
        against trunk revision .

        -1 patch. The patch command could not apply the patch.

        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2989//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12552191/MAPREDUCE-4765_branch-1.patch against trunk revision . -1 patch . The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2989//console This message is automatically generated.
        Hide
        Robert Kanter added a comment -

        The new patch addresses Alejandro's comments. I've checked for null before canceling and I've made the test call testDTRenewal() before closing the DTR timer (I had assumed it would always run before my new test, but that may not always be the case).

        Show
        Robert Kanter added a comment - The new patch addresses Alejandro's comments. I've checked for null before canceling and I've made the test call testDTRenewal() before closing the DTR timer (I had assumed it would always run before my new test, but that may not always be the case).
        Hide
        Alejandro Abdelnur added a comment -

        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)

        Show
        Alejandro Abdelnur added a comment - 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)
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12551752/MAPREDUCE-4765_branch-1.patch
        against trunk revision .

        -1 patch. The patch command could not apply the patch.

        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2979//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12551752/MAPREDUCE-4765_branch-1.patch against trunk revision . -1 patch . The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2979//console This message is automatically generated.

          People

          • Assignee:
            Robert Kanter
            Reporter:
            Robert Kanter
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development