xupefei commented on code in PR #46245:
URL: https://github.com/apache/spark/pull/46245#discussion_r1596852526
##########
sql/core/src/main/scala/org/apache/spark/sql/expressions/Aggregator.scala:
##########
@@ -49,6 +49,7 @@ import
org.apache.spark.sql.execution.aggregate.TypedAggregateExpression
* @tparam OUT The type of the final output result.
* @since 1.6.0
*/
+@SerialVersionUID(2093413866369130093L)
Review Comment:
I tried multiple methods and still can't succeed without this UID. As long
as we want users to define UDAF like this:
```
new Aggregator {
def merge(...) = {...}
...
}
```
The serialized payload (either the whole Aggregator instance or individual
methods (e.g., `agg.merge _`)) will carry a reference to the Aggregator
instance that needs to be decoded on the server side. Without this UID, the
decode will fail with an error message `class UID not match`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]