[ 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