[ https://issues.apache.org/jira/browse/HDFS-1257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13146645#comment-13146645 ]
Tsz Wo (Nicholas), SZE commented on HDFS-1257: ---------------------------------------------- The only unsync access to recentInvalidateSets is InvalidateQueueProcessingStats.postCheckIsLastCycle(..). It is calling isEmpty() and so it not a problem. After looking at QueueProcessingStatistics a little bit, I suspect that there is a bug in counting cycles. The potential bug is not related the patch. +1 the 0.20s patch looks good. > Race condition on FSNamesystem#recentInvalidateSets introduced by HADOOP-5124 > ----------------------------------------------------------------------------- > > Key: HDFS-1257 > URL: https://issues.apache.org/jira/browse/HDFS-1257 > Project: Hadoop HDFS > Issue Type: Bug > Components: name-node > Affects Versions: 0.23.0 > Reporter: Ramkumar Vadali > Assignee: Eric Payne > Fix For: 0.23.0 > > Attachments: HDFS-1257-branch-0.20-security.patch, > HDFS-1257.1.20110810.patch, HDFS-1257.2.20110812.patch, > HDFS-1257.3.20110815.patch, HDFS-1257.4.20110816.patch, > HDFS-1257.5.20110817.patch, HDFS-1257.patch > > > HADOOP-5124 provided some improvements to FSNamesystem#recentInvalidateSets. > But it introduced unprotected access to the data structure > recentInvalidateSets. Specifically, FSNamesystem.computeInvalidateWork > accesses recentInvalidateSets without read-lock protection. If there is > concurrent activity (like reducing replication on a file) that adds to > recentInvalidateSets, the name-node crashes with a > ConcurrentModificationException. -- 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