Joseph Percivall created NIFI-5085:
--------------------------------------

             Summary: InvokeHttp does not close the response in all cases
                 Key: NIFI-5085
                 URL: https://issues.apache.org/jira/browse/NIFI-5085
             Project: Apache NiFi
          Issue Type: Bug
    Affects Versions: 1.6.0, 1.5.0, 0.7.4, 1.4.0, 1.3.0, 1.0.1, 1.1.1, 1.2.0, 
0.7.1, 1.1.0, 0.6.1, 0.7.0, 0.5.1, 0.4.1, 0.6.0, 0.5.0, 0.4.0, 1.0.0
            Reporter: Joseph Percivall
            Assignee: Joseph Percivall


As stated in this github issue for OkHttp[1] (the library InvokeHttp uses), the 
response needs to be closed for every instance of the response. InvokeHttp 
currently only closes the underlying body stream in the instance of there 
existing a body[2][3]. The proper way to do it is how the 
HttpNotificationService does, utilizing a try with resources on the 
response[4]. 

 

I ran into this issue when my 1.5.0 instance hit OOM errors multiple times. I'm 
still not a 100% sure this is the root cause but one common thing between those 
OOM errors is repeated socket timeout exceptions in InvokeHttp (and even if 
it's not, it should still be fixed).

 

[1] https://github.com/square/okhttp/issues/2311 
[2] 
https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java#L822
 
[3] 
https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java#L894
 
[4] 
https://github.com/apache/nifi/blob/master/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/notification/http/HttpNotificationService.java#L230



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to