Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Failed to receive content from HTTP Request from due to Early EOF: org.eclipse.jetty.io.EofException: Early EOF

Failed to receive content from HTTP Request from due to Early EOF: org.eclipse.jetty.io.EofException: Early EOF

Contributor

Hi All,


We have a three node Nifi Cluster which is in backend and haproxy (LB) in frontend with a defined port for client to send request to the LB which will hit Nifi cluster in backend in round robin method.

We have a built a pipeline which has "HandleHTTPRequest" --> intermediate processing using multiple processors | "HandleHTTPResponse". Client application may send multi part payload with different file extension and within the pipeline we parse and process according to business logic and move it to Network/Central Drive.

When client application submits parallel payloads, we are being hit by below error on "HandleHTTPRequest" processor.

I have tried to increase concurrent tasks for "HandleHTTPRequest" from "1 to 10" and all nodes on our cluster can handle the increase in tasks as we have enough CPU. Also we have increased the container queue size from "50 to 80"

Failed to receive content from HTTP Request from <host> due to org.eclipse.jetty.io.EofException: Early EOF: org.eclipse.jetty.io.EofException: Early EOF
org.eclipse.jetty.io.EofException: Early EOF
        at org.eclipse.jetty.server.HttpInput$3.getError(HttpInput.java:1138)
        at org.eclipse.jetty.server.HttpInput$3.noContent(HttpInput.java:1126)
        at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:313)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
        at org.eclipse.jetty.util.ReadLineInputStream.read(ReadLineInputStream.java:131)
        at org.eclipse.jetty.util.MultiPartInputStreamParser.parse(MultiPartInputStreamParser.java:769)
        at org.eclipse.jetty.util.MultiPartInputStreamParser.getParts(MultiPartInputStreamParser.java:493)
        at org.eclipse.jetty.server.MultiParts$MultiPartsUtilParser.<init>(MultiParts.java:121)
        at org.eclipse.jetty.server.Request.newMultiParts(Request.java:2410)
        at org.eclipse.jetty.server.Request.getParts(Request.java:2333)
        at org.eclipse.jetty.server.Request.getParts(Request.java:2319)
        at org.apache.nifi.processors.standard.HandleHttpRequest.onTrigger(HandleHttpRequest.java:575)
        at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
        at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
        at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
        at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)


Thanks in Advance,

Ram