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

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

Mark Payne created NIFI-8054:
--------------------------------

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


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)