[ 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)