You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@nifi.apache.org by Sebastian Lagemann | iQU <se...@iqu.com> on 2015/10/13 13:44:08 UTC

Problem with HandleHttpRequest/HandleHttpResponse

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:
[cid:9E4253D4-B4FD-4F50-922C-743D9B781936]

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


Re: Problem with HandleHttpRequest/HandleHttpResponse

Posted by Sebastian Lagemann | iQU <se...@iqu.com>.
Mark,

great, thanks. Will watch that ticket.

Best,

Seb

Von: Mark Payne
Antworten an: "users@nifi.apache.org<ma...@nifi.apache.org>"
Datum: Dienstag, 13. Oktober 2015 um 16:26
An: "users@nifi.apache.org<ma...@nifi.apache.org>"
Betreff: Re: Problem with HandleHttpRequest/HandleHttpResponse

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


On Oct 13, 2015, at 7:44 AM, Sebastian Lagemann | iQU <se...@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



Re: Problem with HandleHttpRequest/HandleHttpResponse

Posted by Mark Payne <ma...@hotmail.com>.
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 <se...@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
>