[
https://issues.apache.org/jira/browse/CASSANDRA-9613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15369341#comment-15369341
]
Robert Stupp commented on CASSANDRA-9613:
-----------------------------------------
Yes, there's no built-in function that is actually usable as a state or final
function.
The contract for all functions (built-ins and UDFs) is still to pass serialized
arguments (deserialization is part of the code in {{JavaSourceUDF.txt}} and the
respective scripted UDF impl). This patch is only an optimization for the state
variable since that is probably of a type that has a higher serialisation cost
(e.g. map, tuple, udt). But it would be a generally affordable optimization to
let built-in and especially UDFs take the non-serialized representation -
thinking of "constant" arguments to UDFs. But at the moment we don't have the
case where we pass "constant" arguments to UDFs (state functions especially).
Added comments to {{generateArguments}} and the new utest and triggered CI.
> Omit (de)serialization of state variable in UDAs
> ------------------------------------------------
>
> Key: CASSANDRA-9613
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9613
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Robert Stupp
> Assignee: Robert Stupp
> Priority: Minor
> Fix For: 3.x
>
>
> Currently the result of each UDA's state function call is serialized and then
> deserialized for the next state-function invocation and optionally final
> function invocation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)