[ https://issues.apache.org/jira/browse/HDFS-2421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13435628#comment-13435628 ]
Jing Zhao commented on HDFS-2421: --------------------------------- Nicholas, my previous patch was just for a simple performance testing, and did not consider too much about synchronization semantic. I guess you may want to review Weiyan's code at https://github.com/facebook/hadoop-20/blob/develop/src/hdfs/org/apache/hadoop/hdfs/server/namenode/SerialNumberManager.java, and I think it should be fine in synchronization and can improve the read performance (although the value of serial number is not increasing in the original way). > Improve the concurrency of SerialNumberMap in NameNode > ------------------------------------------------------- > > Key: HDFS-2421 > URL: https://issues.apache.org/jira/browse/HDFS-2421 > Project: Hadoop HDFS > Issue Type: Improvement > Components: name-node > Reporter: Hairong Kuang > Assignee: Weiyan Wang > Fix For: 0.24.0 > > Attachments: performance_100000_op.png, performance_10000_op.png, > performance_SerialNumberManager.png, TestSerialNumberManager.java > > > 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. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira