[
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Stupp updated CASSANDRA-14737:
-------------------------------------
Reviewers: Jason Brown, Jonathan Ellis, Ryan Svihla, Robert Stupp (was:
Jason Brown, Jonathan Ellis, Robert Stupp, Ryan Svihla)
Jason Brown, Jonathan Ellis, Ryan Svihla, Robert Stupp (was:
Jason Brown, Jonathan Ellis, Ryan Svihla)
Status: Review In Progress (was: Patch Available)
> Limit the dependencies used by UDFs/UDAs
> ----------------------------------------
>
> Key: CASSANDRA-14737
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14737
> Project: Cassandra
> Issue Type: Improvement
> Components: Legacy/CQL
> Reporter: Robert Stupp
> Assignee: Robert Stupp
> Priority: Low
> Labels: UDF
> Fix For: 4.0
>
>
> In an effort to clean up our hygiene and limit the dependencies used by
> UDFs/UDAs, I think we should refactor the UDF code parts and remove the
> dependency to the Java Driver in that area without breaking existing
> UDFs/UDAs.
>
> The patch is in [this
> branch|https://github.com/snazy/cassandra/tree/feature/remove-udf-driver-dep-trunk].
> The changes are rather trivial and provide 100% backwards compatibility for
> existing UDFs.
>
> The prototype copies the necessary parts from the Java Driver into the C*
> source tree to {{org.apache.cassandra.cql3.functions.types}} and adopts its
> usages - i.e. UDF/UDA code plus {{CQLSSTableWriter}} +
> {{StressCQLSSTableWriter}}. The latter two classes have a reference to UDF's
> {{UDHelper}} and had to be changed as well.
>
> Some functionality, like type parsing & handling, is duplicated in the code
> base with this prototype - once in the "current" source tree and once for
> UDFs. However, unifying the code paths is not trivial, since the UDF sandbox
> prohibits the use of internal classes (direct and likely indirect
> dependencies).
>
> /cc [~jbellis]
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]