Support Questions
Find answers, ask questions, and share your expertise

Failed to receive content from HTTP Request from due to Early EOF: Early EOF

Failed to receive content from HTTP Request from due to Early EOF: Early EOF


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 Early EOF: Early EOF Early EOF
        at org.eclipse.jetty.server.HttpInput$3.getError(
        at org.eclipse.jetty.server.HttpInput$3.noContent(
        at org.eclipse.jetty.util.MultiPartInputStreamParser.parse(
        at org.eclipse.jetty.util.MultiPartInputStreamParser.getParts(
        at org.eclipse.jetty.server.MultiParts$MultiPartsUtilParser.<init>(
        at org.eclipse.jetty.server.Request.newMultiParts(
        at org.eclipse.jetty.server.Request.getParts(
        at org.eclipse.jetty.server.Request.getParts(
        at org.apache.nifi.processors.standard.HandleHttpRequest.onTrigger(
        at org.apache.nifi.processor.AbstractProcessor.onTrigger(
        at org.apache.nifi.controller.StandardProcessorNode.onTrigger(
        at org.apache.nifi.controller.tasks.ConnectableTask.invoke(
        at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$
        at java.util.concurrent.Executors$
        at java.util.concurrent.FutureTask.runAndReset(
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(
        at java.util.concurrent.ScheduledThreadPoolExecutor$
        at java.util.concurrent.ThreadPoolExecutor.runWorker(
        at java.util.concurrent.ThreadPoolExecutor$

Thanks in Advance,