Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
0.15.0
-
None
-
None
-
Reviewed
-
Fixed a memory leak associated with 'abandoned' files (i.e. not cleanly closed). This held up significant amounts of memory depending on activity and how long NameNode has been running.
Description
FSNamesystem.internalReleaseCreate() in invoked on files that are open for writing but not cleanly closed. e.g. when client invokes abandonFileInProgress() or when lease expires. It deletes the last block if it has a length of zero. The block is deleted from the file INode but not from blocksMap. Then leaves a reference to such file until NameNode is restarted. When this happens HADOOP-3381 multiplies amount of memory leak.