hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Suresh Srinivas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-2052) FSNamesystem should not sync the log with the write lock held
Date Thu, 23 Jun 2011 20:12:47 GMT

    [ https://issues.apache.org/jira/browse/HDFS-2052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054073#comment-13054073
] 

Suresh Srinivas commented on HDFS-2052:
---------------------------------------

> but that would drop the audit logging so probably easier to pass a boolean that indicates
whether to sync. 
It does not. Logging for delete is done in FSDirectory#delete(). In this case, you are not
syncing the audit log and do it along with editlog that logs file creation.

> 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

        

Mime
View raw message