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)

Reply via email to