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.
---

Reply via email to