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

ASF subversion and git services commented on NIFI-8054:
-------------------------------------------------------

Commit aaa1452d041ff34f3647004e73a1f78f59c561d4 in nifi's branch 
refs/heads/main from markap14
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=aaa1452 ]

NIFI-8054: Updated ReflectionUtils to use a WeakHashMap for the mapping of 
annotations to methods with that annotation. This way, the ReflectionUtils 
class will not hold a reference to Classes that are no longer referenced 
elsewhere. (#4694)



> 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
>          Time Spent: 10m
>  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)

Reply via email to