Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-2421

Improve the concurrency of SerialNumberMap in NameNode

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.23.3, 2.0.2-alpha
    • Component/s: namenode
    • Labels:
      None
    • Hadoop Flags:
      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.

      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

            • Assignee:
              Jing Zhao
              Reporter:
              Hairong Kuang
            • Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development