[ 
https://issues.apache.org/jira/browse/HADOOP-15565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17103532#comment-17103532
 ] 

Uma Maheswara Rao G commented on HADOOP-15565:
----------------------------------------------

[~virajith] I have looked at the patch. It seems clean backport to me. 
 I am almost +1, But I have a question:
 Looks like following change is not from this trunk patch.
 In FileSystem.java
{code:java}
197       @VisibleForTesting
198       static void removeFileSystemForTesting(URI uri, Configuration conf,
199           FileSystem fs) throws IOException {
200         CACHE.map.remove(new Cache.Key(uri, conf), fs);
201       }
{code}
I have looked history and figured out that, this change introduced as part of 
[^HADOOP-13656.008.patch]

Could you please check if we can avoid that change in this JIRA?
 Otherwise I am +1.

> ViewFileSystem.close doesn't close child filesystems and causes FileSystem 
> objects leak.
> ----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-15565
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15565
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Jinglun
>            Assignee: Jinglun
>            Priority: Major
>             Fix For: 3.3.0
>
>         Attachments: HADOOP-15565-branch-3.2.001.patch, 
> HADOOP-15565.0001.patch, HADOOP-15565.0002.patch, HADOOP-15565.0003.patch, 
> HADOOP-15565.0004.patch, HADOOP-15565.0005.patch, HADOOP-15565.0006.bak, 
> HADOOP-15565.0006.patch, HADOOP-15565.0007.patch, HADOOP-15565.0008.patch
>
>
> ViewFileSystem.close() does nothing but remove itself from FileSystem.CACHE. 
> It's children filesystems are cached in FileSystem.CACHE and shared by all 
> the ViewFileSystem instances. We could't simply close all the children 
> filesystems because it will break the semantic of FileSystem.newInstance().
> We might add an inner cache to ViewFileSystem, let it cache all the children 
> filesystems. The children filesystems are not shared any more. When 
> ViewFileSystem is closed we close all the children filesystems in the inner 
> cache. The ViewFileSystem is still cached by FileSystem.CACHE so there won't 
> be too many FileSystem instances.
> The FileSystem.CACHE caches the ViewFileSysem instance and the other 
> instances(the children filesystems) are cached in the inner cache.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to