You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Tzu-Li (Gordon) Tai (JIRA)" <ji...@apache.org> on 2019/02/26 10:47:00 UTC
[jira] [Reopened] (FLINK-9803) Drop canEqual() from TypeSerializer
[ https://issues.apache.org/jira/browse/FLINK-9803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tzu-Li (Gordon) Tai reopened FLINK-9803:
----------------------------------------
Reopened to add release note.
> 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
> Labels: pull-request-available
> Fix For: 1.8.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)