You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Suresh Srinivas (JIRA)" <ji...@apache.org> on 2008/09/19 03:34:44 UTC

[jira] Updated: (HADOOP-4210) Findbugs warnings are printed related to equals implementation of several classes

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

Suresh Srinivas updated HADOOP-4210:
------------------------------------

    Attachment: HADOOP4210.patch

Fixing the issue reported by changing the implementation of equals to be consistent at all the places where bugs were reported. The implementation of equals ensures the following checks are consistently done before the internal data comparison of the two objects:
- Returns true if the object references are equal
- Returns false if the object passed as parameter is null
- Returns false if the this.getClass() != paramObject.getClass()




> Findbugs warnings are printed related to equals implementation of several classes
> ---------------------------------------------------------------------------------
>
>                 Key: HADOOP-4210
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4210
>             Project: Hadoop Core
>          Issue Type: Bug
>            Reporter: Suresh Srinivas
>            Assignee: Suresh Srinivas
>             Fix For: 0.19.0
>
>         Attachments: HADOOP4210.patch
>
>
> During compilation - findbugs generates several warnings that indicates bugs in the implementation of equals method. One of the example of this report is:
> Bug type EQ_GETCLASS_AND_CLASS_CONSTANT (click for details)
> In class org.apache.hadoop.mapred.ID
> In method org.apache.hadoop.mapred.ID.equals(Object)
> At ID.java:[line 66]
> Value doesn't work for subtypes
> This class has an equals method that will be broken if it is inherited by subclasses. It compares a class literal with the class of the argument (e.g., in class Foo it might check if Foo.class == o.getClass()). It is better to check if this.getClass() == o.getClass().

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.