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

Kihwal Lee commented on HDFS-4186:
----------------------------------

It's modtly an optimization. Since several methods are now calling logSync() 
even if there is nothing to sync,it allows returning early before hitting the 
edit log lock. There is no correctness problem without it in terms of edit 
logging, but the metric for batched sync will be inaccurate. 
                
> logSync() is called with the write lock held while releasing lease
> ------------------------------------------------------------------
>
>                 Key: HDFS-4186
>                 URL: https://issues.apache.org/jira/browse/HDFS-4186
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>    Affects Versions: 0.23.4, 2.0.2-alpha
>            Reporter: Kihwal Lee
>            Assignee: Kihwal Lee
>            Priority: Critical
>         Attachments: hdfs-4186-trunk.patch
>
>
> As pointed out in HDFS-4138, when the lease monitor calls 
> internalReleaseLease(), it acquires the namespace write lock. Inside 
> internalReleaseLease(), if a block recovery is needed, the lease is 
> reassigned to the namenode itself and this is logged & synced in 
> logReassignLease().
> Since this is done while the write lock is held, log syncing is blocked. When 
> a large number of leases are expired and blocks are recovered, namenode can 
> slow down.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to