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] [Updated] (HADOOP-9124) SortedMapWritable violates contract of Map interface for equals() and hashCode()
Date Tue, 18 Dec 2012 02:24:14 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-9124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Surenkumar Nihalani updated HADOOP-9124:

    Attachment: HADOOP-9124.patch

Request for code review.
> 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
> 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