You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Bryan Bende (Jira)" <ji...@apache.org> on 2020/11/30 21:15:00 UTC

[jira] [Resolved] (NIFI-8054) When components are removed from flow, their class loaders are not cleaned up

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

Bryan Bende resolved NIFI-8054.
-------------------------------
    Fix Version/s: 1.13.0
       Resolution: Fixed

> When components are removed from flow, their class loaders are not cleaned up
> -----------------------------------------------------------------------------
>
>                 Key: NIFI-8054
>                 URL: https://issues.apache.org/jira/browse/NIFI-8054
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>            Reporter: Mark Payne
>            Assignee: Mark Payne
>            Priority: Major
>             Fix For: 1.13.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> When a component is removed from the flow, its corresponding classes/classloaders are not removed from the JVM's count of loaded classes. This can be seen by creating a Process Group with several processors that use the @RequiresInstanceClassLoading annotation (GetHDFS, for example). Then use a profiler/JConsole/etc. to see how many classes are loaded into memory. After the Process Group is deleted and GC is performed, the number of classes loaded should drop significantly. Currently, it does not. So if instantiate a template, delete the Process Group, instantiate it again, delete it again, etc. then I get into a situation where I run out of memory and see OutOfMemoryError: GC overhead limit exceeded.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)