hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Surenkumar Nihalani (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9124) SortedMapWritable violates contract of Map interface for equals() and hashCode()
Date Fri, 25 Jan 2013 13:21:13 GMT

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

Surenkumar Nihalani commented on HADOOP-9124:

[~tomwhite], I agree about that test. That case is neither likely to happen nor useful. 

[~kkambatl], I am not sure of the purpose of {{classToIdMap}} and {{idToClassMap}} . Can you

I'll update and upload the patch once Karthik's point is clear.
> SortedMapWritable violates contract of Map interface for equals() and hashCode()
> --------------------------------------------------------------------------------
>                 Key: HADOOP-9124
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9124
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: io
>    Affects Versions: 2.0.2-alpha
>            Reporter: Patrick Hunt
>            Priority: Minor
>         Attachments: HADOOP-9124.patch, HADOOP-9124.patch, HADOOP-9124.patch, HADOOP-9124.patch,
HADOOP-9124.patch, HADOOP-9124.patch
> This issue is similar to HADOOP-7153. It was found when using MRUnit - see MRUNIT-158,
specifically https://issues.apache.org/jira/browse/MRUNIT-158?focusedCommentId=13501985&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13501985
> --
> o.a.h.io.SortedMapWritable implements the java.util.Map interface, however it does not
define an implementation of the equals() or hashCode() methods; instead the default implementations
in java.lang.Object are used.
> This violates the contract of the Map interface which defines different behaviour for
equals() and hashCode() than Object does. More information here: http://download.oracle.com/javase/6/docs/api/java/util/Map.html#equals(java.lang.Object)
> The practical consequence is that SortedMapWritables containing equal entries cannot
be compared properly. We were bitten by this when trying to write an MRUnit test for a Mapper
that outputs MapWritables; the MRUnit driver cannot test the equality of the expected and
actual MapWritable objects.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message