Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-3709

Lock hierarchy violation in namenode while handling hearbeats

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • None
    • None
    • None
    • None

    Description

      The heartbeat processing code recently got rearranged via HADOOP-3254. FSNamesystem.handleHeartbeat acquires the hearbeat lock and then invoke blockReportProcessed. This method tries to acquire the global FSNamesystem lock. This is a lock hierarchy violation. This leads to deadlock.

      The heatbeat processing code should acquire only the heartbeat lock. It should not acquire the global lock, otherwise heartprocessing become too heavyweight.

      This code occurs only on trunk and not o 018 branch. Surprise!

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            dhruba Dhruba Borthakur
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment