[
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)