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)