[ 
https://issues.apache.org/jira/browse/HADOOP-8619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13424776#comment-13424776
 ] 

Radim Kolar commented on HADOOP-8619:
-------------------------------------

There is difference between think and know. To make object serialization work, 
all referenced objects must be deserializable, otherwise there is no way to 
reconstruct object tree back. You can not deserialize object if you can no 
create it. Plain and simple.

Lets take another approach: Hadoop is using findbugs, isnt it? It means that 
you guys have some trust and confidence in findbugs authors. Then trust them if 
they are telling you that deserialization do not works if you cant call 
constructor.
                
> WritableComparator must implement no-arg constructor
> ----------------------------------------------------
>
>                 Key: HADOOP-8619
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8619
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: io
>    Affects Versions: 3.0.0
>            Reporter: Radim Kolar
>             Fix For: 0.23.0, 2.0.0-alpha, 3.0.0
>
>         Attachments: writable-comparator.txt
>
>
> Because of reasons listed here: 
> http://findbugs.sourceforge.net/bugDescriptions.html#SE_COMPARATOR_SHOULD_BE_SERIALIZABLE
> comparators should be serializable. To make deserialization work, it is 
> required that all superclasses have no-arg constructor. 
> http://findbugs.sourceforge.net/bugDescriptions.html#SE_NO_SUITABLE_CONSTRUCTOR
> Simply add no=arg constructor to  WritableComparator.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to