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)