hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Hunt (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HADOOP-9124) SortedMapWritable violates contract of Map interface for equals() and hashCode()
Date Sat, 08 Dec 2012 00:57:20 GMT
Patrick Hunt created HADOOP-9124:

             Summary: SortedMapWritable violates contract of Map interface for equals() and
                 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

This issue is similar to HADOOP-7153. It was found when using MRUnit - see MRUNIT-158, specifically

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

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