Details
-
Improvement
-
Status: Closed
-
Critical
-
Resolution: Duplicate
-
None
-
None
Description
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.