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

Improve the concurrency of SerialNumberMap in NameNode

    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. HDFS-2421.patch
          2 kB
          Jing Zhao
        2. performance_10000_op.png
          59 kB
          Jing Zhao
        3. performance_100000_op.png
          48 kB
          Jing Zhao
        4. performance_SerialNumberManager.png
          55 kB
          Jing Zhao
        5. TestSerialNumberManager.java
          4 kB
          Jing Zhao

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: