[ https://issues.apache.org/jira/browse/NIFI-4837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Bende updated NIFI-4837: ------------------------------ Resolution: Fixed Fix Version/s: 1.6.0 Status: Resolved (was: Patch Available) > 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 > Fix For: 1.6.0 > > 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)