Mark Payne created NIFI-5465:
--------------------------------
Summary: HandleHttpRequest times out requests if it goes more than
30 seconds without receiving data, regardless of the configured Request Timeout
Key: NIFI-5465
URL: https://issues.apache.org/jira/browse/NIFI-5465
Project: Apache NiFi
Issue Type: Bug
Components: Extensions
Reporter: Mark Payne
Assignee: Mark Payne
The HTTP Context Map allows the user to configure the "Request Timeout" but if
data is written to the HTTP Request, then pauses for more than 30 seconds, then
writes more data, then the request will timeout. We should allow request to go
up to the configured "Request Timeout" before throwing a TimeoutException. The
stack trace seen is:
{code:java}
org.apache.nifi.processor.exception.FlowFileAccessException: Failed to import
data from
HttpInputOverHTTP@5f73086c[c=16384,q=0,[0]=null,s=ERROR:java.util.concurrent.TimeoutException:
Idle timeout expired: 30003/30000 ms] for
StandardFlowFileRecord[uuid=2c04929e-cd59-46b6-8612-c437c0230591,claim=,offset=0,name=84593375189600,size=0]
due to org.apache.nifi.processor.exception.FlowFileAccessException: Unable to
create ContentClaim due to java.io.IOException:
java.util.concurrent.TimeoutException: Idle timeout expired: 30003/30000 ms;
rolling back session: {}
org.apache.nifi.processor.exception.FlowFileAccessException: Failed to import
data from
HttpInputOverHTTP@5f73086c[c=16384,q=0,[0]=null,s=ERROR:java.util.concurrent.TimeoutException:
Idle timeout expired: 30003/30000 ms] for
StandardFlowFileRecord[uuid=2c04929e-cd59-46b6-8612-c437c0230591,claim=,offset=0,name=84593375189600,size=0]
due to org.apache.nifi.processor.exception.FlowFileAccessException: Unable to
create ContentClaim due to java.io.IOException:
java.util.concurrent.TimeoutException: Idle timeout expired: 30003/30000 ms
at
org.apache.nifi.controller.repository.StandardProcessSession.importFrom(StandardProcessSession.java:2942)
at
org.apache.nifi.processors.standard.HandleHttpRequest.onTrigger(HandleHttpRequest.java:507)
at
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1122)
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:147)
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:128)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown
Source)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.nifi.processor.exception.FlowFileAccessException: Unable
to create ContentClaim due to java.io.IOException:
java.util.concurrent.TimeoutException: Idle timeout expired: 30003/30000 ms
at
org.apache.nifi.controller.repository.StandardProcessSession.importFrom(StandardProcessSession.java:2935)
... 13 common frames omitted
Caused by: java.io.IOException: java.util.concurrent.TimeoutException: Idle
timeout expired: 30003/30000 ms
at org.eclipse.jetty.server.HttpInput$ErrorState.noContent(HttpInput.java:1047)
at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:307)
at java.io.InputStream.read(Unknown Source)
at org.apache.nifi.stream.io.StreamUtils.copy(StreamUtils.java:35)
at
org.apache.nifi.controller.repository.FileSystemRepository.importFrom(FileSystemRepository.java:734)
at
org.apache.nifi.controller.repository.StandardProcessSession.importFrom(StandardProcessSession.java:2932)
... 13 common frames omitted
Caused by: java.util.concurrent.TimeoutException: Idle timeout expired:
30003/30000 ms
at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:166)
at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown
Source)
... 4 common frames omitted{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)