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

Mattias Jiderhamn commented on PIG-4603:
----------------------------------------

I have implemented a workaround (i.e. {{removeNotificationListener()}} for any 
{{NotificationListener}} that may cause leaks) for this in my [ClassLoader Leak 
Prevention library|https://github.com/mjiderhamn/classloader-leak-prevention]. 
I would be thankful if any users of Pig would care to build the library from 
GitHub sources and test the workaround, before I make a release including this 
fix.

> Classloader leak in SpillableMemoryManager
> ------------------------------------------
>
>                 Key: PIG-4603
>                 URL: https://issues.apache.org/jira/browse/PIG-4603
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.15.0
>            Reporter: Gleb Smirnov
>            Assignee: Rohini Palaniswamy
>
> In the constructor of {{SpillableMemoryManager}}, a {{NotificationListener}} 
> is added to the {{MemoryMXBean}}. This listener is never removed, even if the 
> application is re-deployed.
> This results in the instance {{SpillableMemoryManager}} being still reachable 
> after a redeploy. This results in its class being reachable, which results in 
> the classloader being reachable, along with all the classes in it.
> This leads to metaspace OutOfMemoryErrors.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to