[
https://issues.apache.org/jira/browse/NIFI-7404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pierre Villard updated NIFI-7404:
---------------------------------
Fix Version/s: 1.12.0
Resolution: Fixed
Status: Resolved (was: Patch Available)
> Scripted processors become invalid when thread terminated
> ---------------------------------------------------------
>
> Key: NIFI-7404
> URL: https://issues.apache.org/jira/browse/NIFI-7404
> Project: Apache NiFi
> Issue Type: Bug
> Components: Extensions
> Reporter: Matt Burgess
> Assignee: Matt Burgess
> Priority: Major
> Fix For: 1.12.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> As reported on the NiFi users mailing list, when a processor thread is
> terminated for ExecuteScript or InvokeScriptedProcessor, the processor
> becomes invalid with the message "‘Script engine’ validated against ‘<script
> engine name>’ is invalid because Given value not found in allowed set ‘ECMA
> Script’".
> This is caused by the scriptingComponentHelper not being re-initialized
> correctly. When createResources() is called, it is called from a thread whose
> context classloader is not the processor's instance classloader, and thus
> none of the additional script engines are found.
> This could be fixed by NIFI-6386, but specifically for these processors there
> is another solution, namely to add an OnAdded method that calls
> createResources() whether some other thread has already called it. The
> OnAdded method is guaranteed to be called with the thread's context class
> loader set to the processor's instance classloader, and will set the
> initialized flag to true, preventing any future calls (of other methods) of
> createResources() if not initialized.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)