[jira] [Commented] (CASSANDRA-14737) Limit the dependencies used by UDFs/UDAs

2020-02-05 Thread Ryan Svihla (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17030509#comment-17030509
 ] 

Ryan Svihla commented on CASSANDRA-14737:
-

+1 

I applied the patch to a recent trunk and the builds are passing locally with 
the exception of some of the dtests but those have all been flakey.

I can't see any downside to applying the patch and it'd be nice to separate 
this out.

> 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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14737) Limit the dependencies used by UDFs/UDAs

2020-01-31 Thread Ryan Svihla (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17027832#comment-17027832
 ] 

Ryan Svihla commented on CASSANDRA-14737:
-

Changes look valid and the tests are passing +1

> 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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14737) Limit the dependencies used by UDFs/UDAs

2019-09-18 Thread Olivier Michallat (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16932719#comment-16932719
 ] 

Olivier Michallat commented on CASSANDRA-14737:
---

(non-binding) +1 to remove the dependency to the driver.

One indirect consequence of the current situation is that driver types are 
leaked into UDF implementations. For example, given the following declaration:
{code}
CREATE FUNCTION test.first (t tuple) RETURNS NULL ON NULL INPUT 
RETURNS int LANGUAGE java AS 'return t.getInt(0);';
{code}
The variable {{t}} in the method body is a {{TupleValue}}, a driver type. Same 
for UDTs.

This is fine as long as Cassandra remains on version 3.x of the driver, but if 
it upgrades to the latest (4.x), there are a few breaking changes to the API. 
For example, the getters for temporal types now return {{java.time}} types 
instead of {{java.util.Date}}. So upgrading the driver would break existing UDF 
implementations.

Copying the code gives Cassandra full control over the API.

> 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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14737) Limit the dependencies used by UDFs/UDAs

2018-10-02 Thread Jeff Jirsa (JIRA)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16635902#comment-16635902
 ] 

Jeff Jirsa commented on CASSANDRA-14737:


[I also love that this patch is here, but I am also not in a position to review 
it - no time, and it's not an area of the codebase I know anything about]

> 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: CQL
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
>  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
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14737) Limit the dependencies used by UDFs/UDAs

2018-10-02 Thread Aleksey Yeschenko (JIRA)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16635277#comment-16635277
 ] 

Aleksey Yeschenko commented on CASSANDRA-14737:
---

Yo. How can I assist with this? Looks like we have reviewers on this already.

Might be good to copy [~slebresne]'s reply to the mailing list regarding 
deprecating access to some of the packages though.

> 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: CQL
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
>  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
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14737) Limit the dependencies used by UDFs/UDAs

2018-10-01 Thread Robert Stupp (JIRA)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16633729#comment-16633729
 ] 

Robert Stupp commented on CASSANDRA-14737:
--

Gentle ping [~iamaleksey], [~jjirsa]

> 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: CQL
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
>  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
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14737) Limit the dependencies used by UDFs/UDAs

2018-09-12 Thread Jonathan Ellis (JIRA)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-14737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16612242#comment-16612242
 ] 

Jonathan Ellis commented on CASSANDRA-14737:


I can confirm that DS is contributing a license to the Java driver code 
included here to the ASF.

> 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: CQL
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
>  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
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org