You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Daniel Stieglitz (Jira)" <ji...@apache.org> on 2022/09/02 18:09:00 UTC

[jira] [Comment Edited] (NIFI-10287) ExecuteScript processor not supporting Module Directory for python

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

Daniel Stieglitz edited comment on NIFI-10287 at 9/2/22 6:08 PM:
-----------------------------------------------------------------

[~Nissim Shiman] Fix looks good to me. I added a  comment on github. Let me know if that makes sense. 

Two points though.
 # Pattern the unit test exactly how you described the issue i.e
Module Directory should be /tmp/testModule and it should have 
a file in it named hello.py with the code ...
 # I do not see a fix for "Also, if Module Directory property is set to /usr/lib/python<version number> (or wherever python packages are installed) the processor will AdminYield when flowfile passes through." Is that the way it should be?


was (Author: JIRAUSER294662):
[~Nissim Shiman] Fix looks good to me. I added a  comment on github. Let me know if that makes sense.

> ExecuteScript processor not supporting Module Directory for python
> ------------------------------------------------------------------
>
>                 Key: NIFI-10287
>                 URL: https://issues.apache.org/jira/browse/NIFI-10287
>             Project: Apache NiFi
>          Issue Type: Bug
>    Affects Versions: 1.15.3
>            Reporter: Nissim Shiman
>            Assignee: Nissim Shiman
>            Priority: Major
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> The ExecuteScript processor currently does not support pointing to python modules.
> The Module Directory property is unable to find/process modules it is set to. See below [1] for example
> Also, if Module Directory property is set to /usr/lib/python<version number> (or wherever python packages are installed) the processor will AdminYield when flowfile passes through.
>  
>  
>  
> [1] Set processor properties:
> _Script Engine_ to python
> _Script Body_ to
> {code:java}
> import hello
> flowFile = session.get()
> flowFile = session.putAttribute(flowFile,"helloKey",hello.hello())
> session.transfer(flowFile, REL_SUCCESS)
> {code}
> _Module Directory_  to /tmp/testModule
> where /tmp/testModule has a file in it named hello.py 
> with the code
> {code:java}
> def hello():
>   return "hello"
> {code}
> and pass a flowfile through.
>  
> The processor will roll back the session saying `hello` is not defined



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