[ 
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)

Reply via email to