Zhiyi Ni created NIFI-11919:
-------------------------------
Summary: "SocketException: Connection reset" occurs when a
processor hasn't been used for a long time and is then specified as RUN_ONCE
Key: NIFI-11919
URL: https://issues.apache.org/jira/browse/NIFI-11919
Project: Apache NiFi
Issue Type: Bug
Reporter: Zhiyi Ni
The GetMongo processor is in the STOP state. I expect to manually notify the
processor to run-once after processing some custom operations by calling the
REST API.
But when I call the following API or manually specify the processor on the WEB
UI to execute once, it will have the following error.
{code:java}
PUT https://<nifi-host>:<nifi-port>/nifi-api/processors/{id}/run-status
with body:
{
"revision": {
"version": 15
},
"state": "RUN_ONCE",
"disconnectedNodeAcknowledged": true
} {code}
The bulletin displayed on the processor:
17:34:44 CST - nifi01:9443 - ERROR
GetMongo[id=80fe390e-65f3-1697-ba11-5d61e3a6692e] Processing halted: yielding
[1 sec]: com.mongodb.MongoSocketWriteException: Exception sending message
- Caused by: java.net.SocketException: Connection reset
However, when the run-status is specified again through the REST API or WEB UI,
it can be executed normally again.
It seems that the NiFi service is trying to use an old connection (causing a
high probability of connection failure, and then an error occurs). However, is
it more reasonable to *automatically re-establish the connection* between the
two when I specify to start execution?
*It should detect that the client/connection is stale and re-establish it
automatically.*
--
This message was sent by Atlassian Jira
(v8.20.10#820010)