You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Yiqun Lin (JIRA)" <ji...@apache.org> on 2016/06/20 02:31:05 UTC

[jira] [Created] (HDFS-10549) Memory leak if exception happens when closing DFSOutputStream or DFSStripedOutputStream

Yiqun Lin created HDFS-10549:
--------------------------------

             Summary: Memory leak if exception happens when closing DFSOutputStream or DFSStripedOutputStream
                 Key: HDFS-10549
                 URL: https://issues.apache.org/jira/browse/HDFS-10549
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: hdfs-client
    Affects Versions: 2.7.1
            Reporter: Yiqun Lin
            Assignee: Yiqun Lin


As HADOOP-13264 memtioned, the code dfsClient.endFileLease(fileId) in {{ DFSOutputStream}} will not be executed when the IOException happened in {{closeImpl()}}.
{code}
  public void close() throws IOException {
    synchronized (this) {
      try (TraceScope ignored =
          dfsClient.newPathTraceScope("DFSOutputStream#close", src)) {
        closeImpl();
      }
    }
    dfsClient.endFileLease(fileId);
    }
  }
{code}
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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org