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 2018/05/01 13:56:00 UTC
[jira] [Created] (NIFI-5136) Leaked component references preventing
GC of components and class loaders
Bryan Bende created NIFI-5136:
---------------------------------
Summary: Leaked component references preventing GC of components and class loaders
Key: NIFI-5136
URL: https://issues.apache.org/jira/browse/NIFI-5136
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.6.0, 1.5.0, 1.4.0, 1.3.0, 1.2.0
Reporter: Bryan Bende
Assignee: Bryan Bende
A user on the mailing list reported that after some time of creating/deleting HDFS processors, it appeared that the classes/instances were still around and eventually the NiFi instance would get out of memory and need to be restarted.
After investigation there are multiple issues preventing garbage collection of deleted components. One issue is specific to the HDFS processors, the other issues are for all components...
1) The LogRepository still has a reference to a ComponentLogger which has a reference to the component
2) The processor scheduler has a map of scheduled states which has references to processors that have been deleted
3) The Hadoop processors start a thread that is never stopped when the processor is stopped/deleted, this means the class loader can't be cleaned up b/c the Runnable came from the InstanceClassLoader of the deleted processor
4) Importing a flow from registry will instantiate an instance of each component to ensure the incoming types are valid, but the InstanceClassLoader and ComponentLogger are not cleaned up for these temp instances
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)