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

Yi Liu commented on HDFS-6871:
------------------------------

Thanks [~umamaheswararao] and [~vinayrpet], I get your point. The potential 
issue of current modification is if blocks are removed but NN crash before 
editlog flush.
OK, let's extract {{removeBlocks(...)}} outside the lock and after the logSync.

> Improve NameNode performance when creating file  
> -------------------------------------------------
>
>                 Key: HDFS-6871
>                 URL: https://issues.apache.org/jira/browse/HDFS-6871
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: namenode, performance
>            Reporter: Yi Liu
>            Assignee: Yi Liu
>            Priority: Critical
>             Fix For: 2.6.0
>
>         Attachments: HDFS-6871.001.patch, HDFS-6871.002.patch
>
>
> Creating file with overwrite flag will cause NN fall into flush edit logs and 
> block other requests if the file exists.
> When we create a file with overwrite flag (default is true) in HDFS, NN will 
> remove original file if it exists. In FSNamesystem#startFileInternal, NN 
> already holds the write lock, it calls {{deleteInt}} if the file exists, 
> there is logSync in {{deleteInt}}. So in this case, logSync is under write 
> lock, it will heavily affect the NN performance. 
> We should ignore the force logSync in {{deleteInt}} in this case.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to