Antonio Pezzuto created NIFI-12645:
--------------------------------------

             Summary: InvokeScriptedProcessor: The onStopped method is never 
called
                 Key: NIFI-12645
                 URL: https://issues.apache.org/jira/browse/NIFI-12645
             Project: Apache NiFi
          Issue Type: Bug
          Components: Extensions
    Affects Versions: 1.23.2, 1.23.1, 1.24.0, 1.23.0, 1.22.0, 1.21.0, 1.19.1, 
1.20.0
         Environment: All operatiing system
            Reporter: Antonio Pezzuto
             Fix For: 1.25.0
         Attachments: image-2024-01-19-12-40-24-453.png, 
image-2024-01-19-12-41-15-173.png, image-2024-01-19-12-44-08-030.png, 
image-2024-01-19-12-44-39-464.png

Processor: *InvokeScriptedProcessor*
Script Engine : groovy

The _InvokeScriptedProcessor_ processor was used to create a custom processor 
in groovy.
The groovy custom processor exposes the *onStopped* method

 
{code:java}
 public void onStopped(ProcessContext context) throws Exception {
        System.out.println("Stop")
        restServer?.shutDown()
    }{code}
 

When the _InvokeScriptedProcessor_ is stopped the groovy processor's 
*onStopped* method is not invoked.
I ran the InvokeScriptedProcessor processor in remote debug and the cause seems 
to be due to a bug in the management of the scriptNeedsReload variable. 
The groovy processor's onStopped method executes only if the scriptNeedsReload 
instance variable equals false
!image-2024-01-19-12-41-15-173.png!


According to my analysis _scriptNeedsReload_ is always set to true due to an 
error in the *reloadScript* method.
Currently the *reloadScript* method returns true if the script body is empty or 
if there are validation errors, it returns false if there are no validation 
errors.
The *reloadScript* method should return true if there are no validation errors 
and return false if the script body is empty or if there are validation errors.

!image-2024-01-19-12-44-08-030.png!

!image-2024-01-19-12-44-39-464.png!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to