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

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

Java serialization do not capture constructor arguments into output stream. 
More detail about protocol is here 
http://docs.oracle.com/javase/6/docs/platform/serialization/spec/protocol.html

If you create own constructor, java will not create default zero arg 
constructor http://xahlee.info/java-a-day/constructer.html - section "Java 
Technicality: Default Constructors"
                
> 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