Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.7.1
-
None
-
Reviewed
Description
As HADOOP-13264 memtioned, the code dfsClient.endFileLease(fileId) in DFSOutputStream will not be executed when the IOException happened in closeImpl().
public void close() throws IOException { synchronized (this) { try (TraceScope ignored = dfsClient.newPathTraceScope("DFSOutputStream#close", src)) { closeImpl(); } } dfsClient.endFileLease(fileId); } }
This will cause that the files not be closed in DFSClient and finally lead to the memory leak. In DFSStripedOutputStream, it existed the same problem.
Attachments
Attachments
Issue Links
- is duplicated by
-
HADOOP-13264 Hadoop HDFS - DFSOutputStream close method fails to clean up resources in case no hdfs datanodes are accessible
- Resolved
- is related to
-
HDFS-6532 Intermittent test failure org.apache.hadoop.hdfs.TestCrcCorruption.testCorruptionDuringWrt
- Patch Available