[
https://issues.apache.org/jira/browse/NIFI-5136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467858#comment-16467858
]
ASF subversion and git services commented on NIFI-5136:
-------------------------------------------------------
Commit 92b4a3208fddd44f0d7e3d618761b9db238b758c in nifi's branch
refs/heads/master from [~bbende]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=92b4a32 ]
NIFI-5136 Ensure processor references are removed from LogRepository and from
ProcessScheduler
- Forcing FileSystem statistics thread to be interrupted when HDFS processors
are stopped
- Stop creating temp components during import from registry, use bundle info
instead
This closes #2668.
Signed-off-by: Mark Payne <[email protected]>
> 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.2.0, 1.3.0, 1.4.0, 1.5.0, 1.6.0
> Reporter: Bryan Bende
> Assignee: Bryan Bende
> Priority: Major
>
> 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)