[ 
https://issues.apache.org/jira/browse/OOZIE-1683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Kanter updated OOZIE-1683:
---------------------------------

    Attachment: OOZIE-1683.patch

The patch closes the FileSystems opened by any UGIs that the 
UserGroupInformationService has on shutdown.  It also removes some redundant 
code.  

No tests, but I verified that the FileSystems are now being closed and removed 
from the HDFS FileSystem cache.  

> UserGroupInformationService should close any filesystems opened by it
> ---------------------------------------------------------------------
>
>                 Key: OOZIE-1683
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1683
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: trunk
>            Reporter: Robert Kanter
>            Assignee: Robert Kanter
>         Attachments: OOZIE-1683.patch
>
>
> When you create a FileSystem object in HDFS, it caches it.  However, when 
> using a UGI to get the FileSystem, it caches it to that object, not its 
> “value”.  In other words, if you create two UGIs for foo to impersonate bar, 
> then they will each create an entry in the cache.  In Oozie, we created a 
> UserGroupInformationService class that basically sits on top of the HDFS 
> cache and caches the UGI objects for impersonating a user so we can reuse the 
> same FileSystem object each time.  However, when running unit tests, we 
> typically destroy and recreate the services for each test (sometimes even 
> more) so Oozie’s cache was being lost and we were effectively creating a new 
> FileSystem object all the time without closing it. 
> Looking at a heap dump after running many of the tests, we saw that there 
> were 800+ FileSystem objects open for the same FileSystem.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to