[ 
https://issues.apache.org/jira/browse/FLINK-2637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14768897#comment-14768897
 ] 

ASF GitHub Bot commented on FLINK-2637:
---------------------------------------

Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/1134#discussion_r39625961
  
    --- Diff: 
flink-java/src/main/java/org/apache/flink/api/java/typeutils/PojoField.java ---
    @@ -68,4 +72,24 @@ private void readObject(ObjectInputStream in)
        public String toString() {
                return "PojoField " + field.getDeclaringClass() + "." + 
field.getName() + " (" + type + ")";
        }
    +
    +   @Override
    +   public boolean equals(Object obj) {
    +           if (obj instanceof PojoField) {
    --- End diff --
    
    Shouldn't `equals()` and `hashcode()` include `field`?


> Add abstract equals, hashCode and toString methods to TypeInformation
> ---------------------------------------------------------------------
>
>                 Key: FLINK-2637
>                 URL: https://issues.apache.org/jira/browse/FLINK-2637
>             Project: Flink
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.9, 0.10
>            Reporter: Fabian Hueske
>            Assignee: Till Rohrmann
>              Labels: starter
>             Fix For: 0.10
>
>
> Flink expects that implementations of {{TypeInformation}} have valid 
> implementations of {{hashCode}} and {{equals}}. However, the API does not 
> enforce to implement these methods. Hence, this is a common origin for bugs 
> such as for example FLINK-2633.
> This can be avoided by adding abstract {{hashCode}} and {{equals}} methods to 
> TypeInformation. An abstract {{toString}} method could also be added.
> This change will brake the API and require to fix a couple of broken 
> {{TypeInformation}} implementations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to