flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aljoscha Krettek (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (FLINK-9803) Drop canEqual() from TypeSerializer
Date Wed, 11 Jul 2018 11:07:00 GMT

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

Aljoscha Krettek updated FLINK-9803:
------------------------------------
    Summary: Drop canEqual() from TypeSerializer  (was: Drop canEqual() from TypeInformation,
TypeSerializer, etc.)

> Drop canEqual() from TypeSerializer
> -----------------------------------
>
>                 Key: FLINK-9803
>                 URL: https://issues.apache.org/jira/browse/FLINK-9803
>             Project: Flink
>          Issue Type: Improvement
>          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 is a reduced version of FLINK-9798, we can't modify {{TypeInformation}} because
it is {{@Public}}. We should change {{TypeSerializer}} now because we're already breaking
it as part of FLINK-9376.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message