[jira] [Commented] (NIFI-12645) InvokeScriptedProcessor: The onStopped method is never called

2024-03-04 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-12645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17823361#comment-17823361
 ] 

ASF subversion and git services commented on NIFI-12645:


Commit 97516de1e0dbfa314a811c317094918cf65794d6 in nifi's branch 
refs/heads/main from Jim Steinebrey
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=97516de1e0 ]

NIFI-12645 Fix to correctly invoke onStopped method of scripted processor

Signed-off-by: Matt Burgess 

This closes #8471


> 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
> Environment: All operatiing system
>Reporter: Antonio Pezzuto
>Assignee: Jim Steinebrey
>Priority: Major
>  Labels: easyfix
> Attachments: Test_Script_Body_InvokeScriptedProcessor.json, 
> 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
>
>   Original Estimate: 24h
>  Time Spent: 0.5h
>  Remaining Estimate: 23.5h
>
> 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)


[jira] [Commented] (NIFI-12645) InvokeScriptedProcessor: The onStopped method is never called

2024-03-04 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-12645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17823356#comment-17823356
 ] 

ASF subversion and git services commented on NIFI-12645:


Commit 7f2f5e77f65af1d688330092b4df9747f68ade50 in nifi's branch 
refs/heads/support/nifi-1.x from Jim Steinebrey
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=7f2f5e77f6 ]

NIFI-12645 Fix to correctly invoke onStopped method of scripted processor

Signed-off-by: Matt Burgess 


> 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
> Environment: All operatiing system
>Reporter: Antonio Pezzuto
>Assignee: Jim Steinebrey
>Priority: Major
>  Labels: easyfix
> Attachments: Test_Script_Body_InvokeScriptedProcessor.json, 
> 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
>
>   Original Estimate: 24h
>  Time Spent: 10m
>  Remaining Estimate: 23h 50m
>
> 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)


[jira] [Commented] (NIFI-12645) InvokeScriptedProcessor: The onStopped method is never called

2024-03-04 Thread Jim Steinebrey (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-12645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17823292#comment-17823292
 ] 

Jim Steinebrey commented on NIFI-12645:
---

Test_InvokeScriptedProcessor.json creates a process group for testing this 
issue. After the fix, stopping the InvokeScriptedProcessor will cause the 
scripted processor to write to the log "NO ERROR: groovy onStopped was called"

> 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.20.0, 1.19.1, 1.21.0, 1.22.0, 1.23.0, 1.24.0, 1.23.1, 
> 1.23.2
> Environment: All operatiing system
>Reporter: Antonio Pezzuto
>Assignee: Jim Steinebrey
>Priority: Major
>  Labels: easyfix
> Attachments: Test_InvokeScriptedProcessor.json, 
> 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
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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)