[
https://issues.apache.org/jira/browse/NIFI-4837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16356114#comment-16356114
]
ASF subversion and git services commented on NIFI-4837:
-------------------------------------------------------
Commit f3013d0764202dfb936231eceecc64f40540e0c3 in nifi's branch
refs/heads/master from [~mcgilman]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=f3013d0 ]
NIFI-4837:
- When Jetty initializes fails, performing a shutdown sequence to ensure all
allocated resources are released.
This closes #2455.
Signed-off-by: Bryan Bende <[email protected]>
> Thread leak on HandleHTTPRequest processor
> ------------------------------------------
>
> Key: NIFI-4837
> URL: https://issues.apache.org/jira/browse/NIFI-4837
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.2.0, 1.3.0, 1.4.0, 1.5.0
> Environment: CENTOS 7
> Reporter: Matthew Clarke
> Assignee: Matt Gilman
> Priority: Blocker
> Attachments: image-2018-02-02-11-14-51-964.png,
> image-2018-02-02-11-16-52-389.png
>
>
> When you have multiple HandleHTTPRequest processors trying to listen on the
> same port, for every Listen attempt NiFi builds a new thread and never
> recycles the old thread which eventually leads to NiFi shutting down when
> reaching the OS limit of the number of threads (default is 10.000).
> The following error can be seen in nifi-app.log:
> Caused by: java.lang.OutOfMemoryError: unable to create new native thread
> at java.lang.Thread.start0(Native Method)
> at java.lang.Thread.start(Thread.java:714)
> This has happened before with version 1.2 and probably even with older
> versions. but I could also replicate the issue with the latest 1.5 version.
> Steps to replicate the issue:
> 1) build a simple flow with 2 HandleHTTPRequest processors listening on the
> same port.
> !image-2018-02-02-11-14-51-964.png!
> 2) Start the processors.
> — The second HandleHTTPRequest processor starts logging following as
> expected:
> 2018-02-02 16:18:29,518 ERROR [Timer-Driven Process Thread-3]
> o.a.n.p.standard.HandleHttpRequest
> HandleHttpRequest[id=af013c62-b26f-1eeb-ae81-8423c70bdc7f] Failed to process
> session due to org.apache.nifi.processor.exception.ProcessException: Failed
> to initialize the server: {}
> org.apache.nifi.processor.exception.ProcessException: Failed to initialize
> the server
> ....
> Caused by: java.net.BindException: Address already in use
> ...
> ... 12 common frames omitted
>
> 3) Go to the Summary section in NiFi and watch the number of threads going up
> to 9959.
> !image-2018-02-02-11-16-52-389.png!
>
> With above, I had processors scheduled on primary node only as to not affect
> every node.
> If you stop the second HandleHTTPRequest processor the threads stop climbing,
> but are not released.
>
> After this, NiFi will soon stop.
>
> A restart of NIFi is required to release these threads.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)