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

Jinglun commented on HADOOP-15565:
----------------------------------

These 6 tests are related. They all rely on FileSystem.CACHE to get the 
children filesystems. Since the children filesystems are not cached in 
FileSystem.CACHE any more, the unit tests failed. The ViewFileSystem already 
has the method getChildFileSystems() and we can use it to fix the unit tests.


org.apache.hadoop.fs.viewfs.TestChRootedFileSystem.testListLocatedFileStatus
org.apache.hadoop.fs.viewfs.TestViewFileSystemDelegation.testAclMethods
org.apache.hadoop.fs.viewfs.TestViewFileSystemDelegation.testVerifyChecksum
org.apache.hadoop.fs.viewfs.TestViewFileSystemDelegationTokenSupport.testGetChildFileSystems
org.apache.hadoop.fs.viewfs.TestViewFileSystemDelegationTokenSupport.testAddDelegationTokens
org.apache.hadoop.fs.viewfs.TestViewFsDefaultValue.testGetDefaultReplication

 

Upload patch-004.

> 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
>         Attachments: HADOOP-15565.0001.patch, HADOOP-15565.0002.patch, 
> HADOOP-15565.0003.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
(v7.6.14#76016)

---------------------------------------------------------------------
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