Seb,

Thanks for all of the information. The stack trace certainly is helpful. This 
appears to be a bug.

I have created a ticket [1] for this issue. The FlowFile certainly should be 
routed to failure. The ticket is
currently assigned to the 0.4.0 version.

Thanks
-Mark

[1] https://issues.apache.org/jira/browse/NIFI-1036 
<https://issues.apache.org/jira/browse/NIFI-1036>


> On Oct 13, 2015, at 7:44 AM, Sebastian Lagemann | iQU 
> <sebastian.lagem...@iqu.com> wrote:
> 
> 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:
> <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
> 

Reply via email to