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

Jinglun commented on HDFS-14645:
--------------------------------

Hi [~jojochuang] [~Jihyun.Cho], I was thinking closing all children filesystems 
will break the semantics of FileSystem.newInstance(). Because the children 
filesystem are cached by FileSystem.Cache and might be shared by many 
ViewFileSystems. FileSystem.newInstance() means getting an independent 
FileSystem and closing it should not affect any other FileSystem object. Some 
software like Spark relys on the semantic.

I think we should and add an inner cache caching all children FileSystems in 
ViewFileSystem like in HADOOP-15565. Let FileSystem.Cache caches ViewFileSystem 
only. So we can keep the semantic and the FileSytem.Cache makes sure there 
won't be too many FileSystem objects.

> ViewFileSystem should close the child FileSystems in close()
> ------------------------------------------------------------
>
>                 Key: HDFS-14645
>                 URL: https://issues.apache.org/jira/browse/HDFS-14645
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs
>    Affects Versions: 2.7.8, 3.3.0
>            Reporter: Jihyun Cho
>            Assignee: Jihyun Cho
>            Priority: Major
>         Attachments: HDFS-14645.001.patch, HDFS-14645.002.patch, 
> HDFS-14645.003.patch
>
>
> {{ViewFileSystem}} uses superclass's {{close}} in current implementation.
> It removes from {{FileSystem.CACHE}} without closing the child FileSystems.
> To close properly, when FileSystem is closing, its child FileSystems also 
> should be closed.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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

Reply via email to