[jira] [Commented] (NIFI-12645) InvokeScriptedProcessor: The onStopped method is never called
[ 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
[ 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
[ 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)