[
https://issues.apache.org/jira/browse/CASSANDRA-10367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14875678#comment-14875678
]
Sylvain Lebresne commented on CASSANDRA-10367:
----------------------------------------------
I think a better way to handle this would be to register our own {{TypeCodec}}s
for collections (as I suggested on the driver ticket, the driver might want to
provide such codec out of the box, but it's not very hard to implement it on
our side in the meantime (it's especially trivial since we can just extend the
driver's list, set and map code and just override their {{unmodifiable}}
method)). That would handle tuples and UDTs.
> Aggregate with Initial Condition fails with C* 3.0
> --------------------------------------------------
>
> Key: CASSANDRA-10367
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10367
> Project: Cassandra
> Issue Type: Bug
> Environment: Cassandra 3.0 branch
> https://github.com/apache/cassandra/tree/cassandra-3.0
> Reporter: Greg Bestland
> Assignee: Robert Stupp
> Fix For: 3.0.x
>
>
> I'm seeing some inconsistent behavior between 2.2 and 3.0 C* with regards to
> UDF, Aggregates and Initial Conditions. I have a scenario, which I think is
> valid. It works in C* 2.2 but not in 3.0
> Using the following user defined function
> {code:sql}
> CREATE OR REPLACE FUNCTION extend_list(s list<text>, i int)
> CALLED ON NULL INPUT
> RETURNS list<text>
> LANGUAGE java AS 'if (i != null)
> s.add(String.valueOf(i)); return s;';
> {code}
> With the aggregate below
> {code:sql}
> CREATE AGGREGATE aggregatemetadata.test_init_cond_aggregate(int) SFUNC
> extend_list STYPE list<text> INITCOND [ ]
> {code}
> When I attempt to exercise the aggregate on from a simple key value table.
> {code:sql}
> SELECT test_init_cond_aggregate(v) AS list_res FROM t
> {code}
> in 2.2 it works fine and returns the aggregate.
> The exact same test ran against the 3.0 branch produces the following
> exception from the server.
> {code:java}
> InvalidRequest: code=2200 [Invalid query] message="ERROR FUNCTION_FAILURE:
> execution of 'aggregatemetadata.extend_list[list<text>, int]' failed:
> java.lang.UnsupportedOperationException"
> {code}
> I've grepped through the C* logs but I couldn't find a more verbose stack
> trace, or any errors.
> Robert Stupp suggested I open a ticket.
> I am able to reproduce both in the python driver manually using cql.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)