[
https://issues.apache.org/jira/browse/NIFI-11919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhiyi Ni updated NIFI-11919:
----------------------------
Description:
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}
{panel:title=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.
{panel}
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.*
was:
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}
{panel:title=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.
{panel}
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.*
> "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
> Priority: Major
>
> 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}
> {panel:title=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.
> {panel}
>
> 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)