hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karthik Kambatla (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9124) SortedMapWritable violates contract of Map interface for equals() and hashCode()
Date Thu, 20 Dec 2012 21:57:13 GMT

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

Karthik Kambatla commented on HADOOP-9124:

Thanks Suren - the fifth point seems to have already been addressed.

Few more nits (hopefully the last :) ):
# We can be a little conservative on the test timeouts - they shouldn't timeout just because
we run them on a slow/loaded machine. Do you think 200 ms is conservative enough? If not,
we can may be bump it up to 1s.
# The indentation seems to be off on a few lines.
> 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
> 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