[ https://issues.apache.org/jira/browse/NIFI-1036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Payne updated NIFI-1036: ----------------------------- Attachment: Bildschirmfoto 2015-10-13 um 13.17.57.png > HandleHttpResponse not handling failures well when client closes connection > --------------------------------------------------------------------------- > > Key: NIFI-1036 > URL: https://issues.apache.org/jira/browse/NIFI-1036 > Project: Apache NiFi > Issue Type: Bug > Components: Extensions > Reporter: Mark Payne > Fix For: 0.4.0 > > Attachments: Bildschirmfoto 2015-10-13 um 13.17.57.png > > > From the users@ mailing list, we received the following comment. It appears > that when the http client closes the connection and we fail to write the > response back, the session is rolled back and as a result we have FlowFiles > queuing up. The FlowFile should be routed to failure instead. > Hi, > We experience currently the problem that we got an „Failed to export > StandardFlowFileRecord to HttpOutput due to > org.eclipse.jetty.io.EofException“ exception which blocks incoming HTTP > requests and with queued flow files between the HandleHttpRequest and > HandleHttpResponse connection until we restart the corresponding node. and > the event stream in total. > We have the following configuration: > << Image is an attachment: Bildschirmfoto 2015-10-13 um 13.17.57.png>> > > We get the following exception: > org.apache.nifi.processor.exception.FlowFileAccessException: Failed to export > StandardFlowFileRecord[uuid=fa00a5b5-7e54-4688-b389-7dcd012607b8,claim=StandardContentClaim > [resourceClaim=StandardResourceClaim[id=1444734001395-1, > container=default, section=1], offset=0, > length=147356],offset=0,name=10200723618730079,size=147356] to > HttpOutput@19fff77e{OPEN} due to org.eclipse.jetty.io.EofException > at > org.apache.nifi.controller.repository.StandardProcessSession.exportTo(StandardProcessSession.java:2305) > ~[nifi-framework-core-0.3.0.jar:0.3.0] > at > org.apache.nifi.processors.standard.HandleHttpResponse.onTrigger(HandleHttpResponse.java:153) > ~[na:na] > at > org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) > ~[nifi-api-0.3.0.jar:0.3.0] > at > org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1077) > ~[nifi-framework-core-0.3.0.jar:0.3.0] > at > org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:127) > [nifi-framework-core-0.3.0.jar:0.3.0] > at > org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:49) > [nifi-framework-core-0.3.0.jar:0.3.0] > at > org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:119) > [nifi-framework-core-0.3.0.jar:0.3.0] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > [na:1.7.0_79] > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) > [na:1.7.0_79] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) > [na:1.7.0_79] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > [na:1.7.0_79] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_79] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_79] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79] > Caused by: org.eclipse.jetty.io.EofException: null > at > org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:192) > ~[jetty-io-9.2.11.v20150529.jar:9.2.11.v20150529] > at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:408) > ~[jetty-io-9.2.11.v20150529.jar:9.2.11.v20150529] > at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:302) > ~[jetty-io-9.2.11.v20150529.jar:9.2.11.v20150529] > at > org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:129) > ~[jetty-io-9.2.11.v20150529.jar:9.2.11.v20150529] > at > org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:690) > ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] > at > org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:246) > ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] > at > org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:208) > ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] > at > org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:480) > ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] > at > org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) > ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] > at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) > ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] > at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:147) > ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] > at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:140) > ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] > at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:355) > ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] > at org.apache.nifi.stream.io.StreamUtils.copy(StreamUtils.java:36) > ~[nifi-utils-0.3.0.jar:0.3.0] > at > org.apache.nifi.controller.repository.FileSystemRepository.exportTo(FileSystemRepository.java:752) > ~[nifi-framework-core-0.3.0.jar:0.3.0] > at > org.apache.nifi.controller.repository.FileSystemRepository.exportTo(FileSystemRepository.java:766) > ~[nifi-framework-core-0.3.0.jar:0.3.0] > at > org.apache.nifi.controller.repository.StandardProcessSession.exportTo(StandardProcessSession.java:2300) > ~[nifi-framework-core-0.3.0.jar:0.3.0] > ... 13 common frames omitted > Caused by: java.io.IOException: Broken pipe > at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:1.7.0_79] > at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) > ~[na:1.7.0_79] > at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) > ~[na:1.7.0_79] > at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[na:1.7.0_79] > at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:488) > ~[na:1.7.0_79] > at > org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:170) > ~[jetty-io-9.2.11.v20150529.jar:9.2.11.v20150529] > ... 29 common frames omitted > Unfortunately we`re right now unable to re-produce the problem predictable > but It seems that the sending part is closing the connection before > HandleHttpResponse is able to finish the job. In our assumption we expected > that, if that is the case, the HandleHttpResponse processor sends the event > to the failure relationship. > We`re using nifi-0.3.0, java 1.7.0_79 (OpenJDK) on an Ubuntu 12.04 LTS server. > The question is if the behavior is expected and we did something wrong or is > this a bug? > Thanks for your help, > Seb -- This message was sent by Atlassian JIRA (v6.3.4#6332)