Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-2421

Improve the concurrency of SerialNumberMap in NameNode

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

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.23.3, 2.0.2-alpha
    • namenode
    • None
    • Reviewed

    Description

      After enabled permission checking in our HDFS test cluster, our benchmark observed a significant reduced concurrency in NameNode. Investigation showed that most threads were blocked at acquiring the lock of org.apache.hadoop.hdfs.server.namenode.SerialNumberManager$SerialNumberMap. We used concurrentHashMap to replace Hashmap + synchronized methods, which greatly improved the situation.

      Attachments

        1. TestSerialNumberManager.java
          4 kB
          Jing Zhao
        2. performance_SerialNumberManager.png
          55 kB
          Jing Zhao
        3. performance_100000_op.png
          48 kB
          Jing Zhao
        4. performance_10000_op.png
          59 kB
          Jing Zhao
        5. HDFS-2421.patch
          2 kB
          Jing Zhao

        Issue Links

        Activity

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

          People

            jingzhao Jing Zhao
            hairong Hairong Kuang
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment