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)

Reply via email to