Github user rmetzger commented on the pull request:
https://github.com/apache/incubator-flink/pull/271#issuecomment-67307001
Thank you for the feedback.
* We are using the Twitter Chill library. It registers many commonly used
classes with Kryo (Collections, Date, BigInt, ...). So the issue with class
names being written does only apply to userdefined types.
You are indeed right that we should provide facilities to register custom
classes and that we should register all classes we see during type analysis.
I didn't implement these features because Timo is actually working on this
and I wanted to have at least basic Kryo support in the release. Timo will
integrate Kryo more tightly with the type analysis.
* The `copy()` method of Kryo is not implemented for many types (in
particular those by Chill). For example the java.sql.Date type
(https://github.com/twitter/chill/blob/develop/chill-java/src/main/java/com/twitter/chill/java/SqlDateSerializer.java)
doesn't have a copy() method.
Kryo provides a default copy() method which fails on mutable types.
(https://github.com/EsotericSoftware/kryo/blob/master/src/com/esotericsoftware/kryo/Serializer.java#L102).
I thought about contributing the missing copy() methods for chill.
We could also whitelist some classes for kryo's copy and fall back to the
slow variant.
* The hardwired check for the KryoSerializer is very ugly. Maybe I can come
up with a different solution. Till suggested to add a method
(`canCreateInstance`) to all serializers .. but thats a lot of code for one
test case.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---