[ https://issues.apache.org/jira/browse/HDFS-2052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054081#comment-13054081 ]
Eli Collins commented on HDFS-2052: ----------------------------------- It would drop the audit logging in FSNamesystem#delete, I don't see audit logging in FSDirectory#delete. > FSNamesystem should not sync the log with the write lock held > ------------------------------------------------------------- > > Key: HDFS-2052 > URL: https://issues.apache.org/jira/browse/HDFS-2052 > Project: Hadoop HDFS > Issue Type: Improvement > Components: name-node > Reporter: Eli Collins > > FSNamesystem#deleteInternal releases the write lock before syncing the log, > however FSNamesystem#startFileInternal calls delete -> deleteInternal with > the write lock held, which means deleteInternal will sync the log while > holding the lock. We could fix cases like this by passing a flag indicating > whether the function should sysnc (eg in this case the sysnc is not necessary > because startFileInternals callers will sync the log) or modify the current > calls to sync to flag that a sync is necessary before returning to the caller > rather than doing the sync right at the call sight. This way the cost of > syncing the log could be amortized over multiple function calls (and > potentially multiple RPCs if we didn't mind introducing some synchronization). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira