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

David Handermann commented on NIFI-16399:
-----------------------------------------

Thanks for highlight those concerns with a more specific protocol approach.

Requiring buffering for attributes that depend on the characteristics of the 
body could be a concern, but if so, then that probably means a more substantial 
Processor implementation is required.

Additional complexity is at some level, but providing a clear protocol makes 
the contract clear.

Taking a step back, the project has historically provided a variety of ways to 
make it easier to invoke code from other languages. Many of these efforts have 
resulted in complex code that has led to support issues at scale. I'm thinking 
specifically of native Python Processors, but this applies to some other 
aspects of scripted components.

Separately from this issue, I have been evaluating a Processor and Controller 
Service approach for scripted components that provides a more extensible path, 
and I hope to write up something more substantive before too long.

Invoking external scripts through ProcessBuilder falls into this category, so 
I'm looking to avoid more maintenance complexity in the project while still 
providing some level of external integration. That may come at the expense of 
some surface-level simplicity, but with available tooling, the bar for 
implementing custom Processors or scripts is now much lower.

So with that background, I'm still open to options, but not the external file 
approach for ExecuteStreamCommand.

> Enable attribute updates from ExecuteStreamCommand
> --------------------------------------------------
>
>                 Key: NIFI-16399
>                 URL: https://issues.apache.org/jira/browse/NIFI-16399
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Mike Thomsen
>            Assignee: Mike Thomsen
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> This change will create an optional mode where ExecuteStreamCommand will 
> write a temp file to the file system that can be used by the executed command 
> to communicate updates to the flowfile attributes. It will be a flat json 
> document.



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

Reply via email to