[
https://issues.apache.org/jira/browse/HDFS-3373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13457589#comment-13457589
]
Tsz Wo (Nicholas), SZE commented on HDFS-3373:
----------------------------------------------
Hi John, thanks for working on this. Some comments on the patch:
- In SocketCache.getInstance(..),
-* If SocketCache is already initialized (i.e. isInitedOnce == true), then the
parameters c and e will be igored silently. Would it be a problem?
-* If it throws IllegalStateException, should isInitedOnce not be set to true?
-* typo: "initialzied" => "initialized"
- In SocketCache.evictExpired(..),
-* remove "throws IOException" since it does not throw it.
-* remove synchronized(this) since it is already synchronized.
- In SocketCache, add createTime to SocketAndStreams and remove SocketProp.
- In SocketCache.put(..), move "Preconditions.checkNotNull(sock);" to the very
beginning.
> FileContext HDFS implementation can leak socket caches
> ------------------------------------------------------
>
> Key: HDFS-3373
> URL: https://issues.apache.org/jira/browse/HDFS-3373
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs client
> Affects Versions: 2.0.0-alpha, 3.0.0
> Reporter: Todd Lipcon
> Assignee: John George
> Attachments: HDFS-3373.branch-23.patch, HDFS-3373.trunk.patch,
> HDFS-3373.trunk.patch.1
>
>
> As noted by Nicholas in HDFS-3359, FileContext doesn't have a close() method,
> and thus never calls DFSClient.close(). This means that, until finalizers
> run, DFSClient will hold on to its SocketCache object and potentially have a
> lot of outstanding sockets/fds held on to.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira