[ 
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)

Reply via email to