Aljoscha Krettek updated FLINK-9798:
    Issue Type: Sub-task  (was: Improvement)
        Parent: FLINK-3957

> Drop canEqual() from TypeInformation, TypeSerializer, etc.
> ----------------------------------------------------------
>                 Key: FLINK-9798
>                 URL: https://issues.apache.org/jira/browse/FLINK-9798
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Core, Type Serialization System
>            Reporter: Aljoscha Krettek
>            Assignee: Aljoscha Krettek
>            Priority: Major
>             Fix For: 1.6.0
> See discussion from 
> https://lists.apache.org/thread.html/7cc6cfd66e96e8d33c768629b55481b6c951c68128f10256abb328fe@%3Cdev.flink.apache.org%3E
> {quote}
> Hi all!
> As part of an attempt to simplify some code in the TypeInfo and
> TypeSerializer area, I would like to drop the "canEqual" methods for the
> following reason:
> "canEqual()" is necessary to make proper equality checks across hierarchies
> of types. This is for example useful in a collection API, stating for
> example whether a List can be equal to a Collection if they have the same
> contents. We don't have that here.
> A certain type information (and serializer) is equal to another one if they
> describe the same type, strictly. There is no necessity for cross hierarchy
> checks.
> This has also let to the situation that most type infos and serializers
> implement just a dummy/default version of "canEqual". Many "equals()"
> methods do not even call the other object's "canEqual", etc.
> As a first step, we could simply deprecate the method and implement an
> empty default, and remove all calls to that method.
> Best,
> Stephan
> {quote}

This message was sent by Atlassian JIRA

Reply via email to