[ https://issues.apache.org/jira/browse/HDFS-11887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16038501#comment-16038501 ]
Mukul Kumar Singh commented on HDFS-11887: ------------------------------------------ Thanks for the review [~cheersyang], I have changed XceiverClientSpi to an abstract class and introduced the notion of refcount inside it. Please have a look. > XceiverClientManager should close XceiverClient on eviction from cache > ---------------------------------------------------------------------- > > Key: HDFS-11887 > URL: https://issues.apache.org/jira/browse/HDFS-11887 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: ozone > Reporter: Mukul Kumar Singh > Assignee: Mukul Kumar Singh > Attachments: HDFS-11887-HDFS-7240.001.patch, > HDFS-11887-HDFS-7240.002.patch, HDFS-11887-HDFS-7240.003.patch > > > XceiverClientManager doesn't close client on eviction which can leak > resources. > {code} > public XceiverClientManager(Configuration conf) { > . > . > . > public void onRemoval( > RemovalNotification<String, XceiverClientWithAccessInfo> > removalNotification) { > // If the reference count is not 0, this xceiver client should > not > // be evicted, add it back to the cache. > WithAccessInfo info = removalNotification.getValue(); > if (info.hasRefence()) { > synchronized (XceiverClientManager.this.openClient) { > XceiverClientManager.this > .openClient.put(removalNotification.getKey(), info); > } > } > {code} > Also a stack overflow can be triggered because of putting the element back in > the cache on eviction. > {code} > synchronized (XceiverClientManager.this.openClient) { > XceiverClientManager.this > .openClient.put(removalNotification.getKey(), info); > } > {code} > This bug will try to fix both of these cases. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org