Details
-
Task
-
Resolution: Unresolved
-
Major
-
None
-
None
Description
There are already do scripting-based SMTs, the content based router and the filter SMT. Both rely on a JSR 223 engine to be provided.
I'm suggesting to add another scripting-based SMT, which would be generic and simply allow for any SMT logic to be given as a script. A challenge will be to handle line breaks of longer expressions given in the configuration.
We should also provide one license-compatible JSR 223 implementation OOTB. This all to lower the barrier for custom SMT logic. While a bespoke Java SMT will always have superior performance, a script-based transformation can be great for quick experimentation and ad-hoc fixes, in particular in managed environments, where no custom SMT classes might (easily) be added.
We should clarify in the docs, that any scripting expression must not be obtained from non trustworthy sources, as it'll allow for arbitrary code execution in Kafka Connect.