You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Flink Jira Bot (Jira)" <ji...@apache.org> on 2021/06/10 11:35:01 UTC
[jira] [Updated] (FLINK-11372) Incorrect delegation of
compatibility checks to new snapshots in CollectionSerializerConfigSnapshot
[ https://issues.apache.org/jira/browse/FLINK-11372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flink Jira Bot updated FLINK-11372:
-----------------------------------
Labels: auto-unassigned pull-request-available stale-major (was: auto-unassigned pull-request-available)
I am the [Flink Jira Bot|https://github.com/apache/flink-jira-bot/] and I help the community manage its development. I see this issues has been marked as Major but is unassigned and neither itself nor its Sub-Tasks have been updated for 30 days. I have gone ahead and added a "stale-major" to the issue". If this ticket is a Major, please either assign yourself or give an update. Afterwards, please remove the label or in 7 days the issue will be deprioritized.
> Incorrect delegation of compatibility checks to new snapshots in CollectionSerializerConfigSnapshot
> ---------------------------------------------------------------------------------------------------
>
> Key: FLINK-11372
> URL: https://issues.apache.org/jira/browse/FLINK-11372
> Project: Flink
> Issue Type: Bug
> Components: API / Type Serialization System
> Reporter: Tzu-Li (Gordon) Tai
> Priority: Major
> Labels: auto-unassigned, pull-request-available, stale-major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> In {{CollectionSerializerConfigSnapshot}}:
> {code}
> @Override
> public TypeSerializerSchemaCompatibility<C> resolveSchemaCompatibility(TypeSerializer<C> newSerializer) {
> if (newSerializer instanceof ListSerializer) {
> ListSerializer<T> newListSerializer = (ListSerializer<T>) newSerializer;
> ListSerializerSnapshot<T> listSerializerSnapshot = new ListSerializerSnapshot<>(newListSerializer);
> @SuppressWarnings("unchecked")
> TypeSerializerSchemaCompatibility<C> result = (TypeSerializerSchemaCompatibility<C>)
> listSerializerSnapshot.resolveSchemaCompatibility(newListSerializer);
> return result;
> } else {
> return super.resolveSchemaCompatibility(newSerializer);
> }
> }
> {code}
> Compatibility check of {{ListSerializer}} is delegated to the new list serializer snapshot class, {{ListSerializerSnapshot}}.
> However, it is incorrect to let the delegate wrap the new serializer (and therefore the new nested element serializer). By doing that, we're essentially checking compatibility of the new serializer with itself, whereas it should be checking compatibility with the restored serializer.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)