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)

Reply via email to