[ https://issues.apache.org/jira/browse/NIFI-7404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Burgess reassigned NIFI-7404: ---------------------------------- Assignee: Matt Burgess > 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 > > 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)