[ https://issues.apache.org/jira/browse/HDFS-2421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13435623#comment-13435623 ]
Tsz Wo (Nicholas), SZE commented on HDFS-2421: ---------------------------------------------- Hi Jing, there is a race condition even for writing different names since nextSerialNumber() is not synchronized. It could be easily fixed by adding "synchronized" or changing max to AtomicInteger. > 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