saarbs created NIFI-13106: ----------------------------- Summary: Loadbalance does not handle all cases of ContentNotFound correctly Key: NIFI-13106 URL: https://issues.apache.org/jira/browse/NIFI-13106 Project: Apache NiFi Issue Type: Bug Components: Core Framework Affects Versions: 1.22.0 Reporter: saarbs
In cases where the ContentRepositoryFlowFileAccess is able to skip to the content but the content is cut in the middle then an EOF exception is thrown and not handled accordingly Log Sample: [ERROR] [Load-Balanced Client Thread-5] [o.a.n.c.q.c.c.a.n.NioAsyncLoadBalanceClient] Failed to communicate with Peer localhost:8080 java.io.EOFException: Expected StandardFlowFileRecord[uuid=848d2364-e7db-4071-a345-b9b3f66d3afc,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1714171534814-132572, container=default, section=476], offset=0, length=1741],offest-0,name=848d2364-e7db-4071-a345-b9b3f66d3afc,size=1741] to contain 1741 bytes but the content repository only had 0 bytes for it at org.apache.nifi.controller.queue.clustered.ContentRepositoryFlowFileAccess$1.ensureNotTruncated(ContentRepositoryFlowFileAccess.java:83) at org.apache.nifi.controller.queue.clustered.ContentRepositoryFlowFileAccess$1.read(ContentRepositoryFlowFileAccess.java:63) at org.apache.nifi.stream.io.StreamUtils.fillBuffer(StreamUtils.java:89) at org.apache.nifi.controller.queue.clustered.client.async.nio.LoadBalanceSession.getFlowFileContent(LoadBalanceSession.java:298) at org.apache.nifi.controller.queue.clustered.client.async.nio.LoadBalanceSession.getDataFrame(LoadBalanceSession.java:253) at org.apache.nifi.controller.queue.clustered.client.async.nio.LoadBalanceSession.communicate(LoadBalanceSession.java:155) at org.apache.nifi.controller.queue.clustered.client.async.nio.NioAsyncLoadBalanceClient.communicate(NioAsyncLoadBalanceClient.java:265) at org.apache.nifi.controller.queue.clustered.client.async.nio.NioAsyncLoadBalanceClient.run(NioAsyncLoadBalanceClient.java:81) at org.apache.nifi.engine.FlowEngine$2.run(FlowFileEngine.java:110) at java.base/java.util.concurrent.Executer$RunnableAdapter.call(Unknown Source) at java.base/java.util.concurrent.FututeTask.run(Unknown Source) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) -- This message was sent by Atlassian Jira (v8.20.10#820010)