[
https://issues.apache.org/jira/browse/FLINK-11333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16755185#comment-16755185
]
Yun Tang commented on FLINK-11333:
----------------------------------
I planed to use avro-protobuf to extract Protobuf message's schema to verify
whether schema evolvable in avro's view. However, from [the
comment|https://github.com/confluentinc/schema-registry/pull/672#issuecomment-393348920]
described, avro defines different rules for compatibility. For example, Long
cannot be treated as compatibly with Integer for avro, while protobuf could.
And I write a simple program to verify this, there really exists difference.
I'm afraid the idea to use avro to judge whether two protobuf message
compatible is not correct. As far as I could see, check protobuf message
compatibility seems a non-trivial work, we might have to leave schema evolution
check of protobuf during job runtime.
> First-class support for Protobuf types with evolvable schema
> ------------------------------------------------------------
>
> Key: FLINK-11333
> URL: https://issues.apache.org/jira/browse/FLINK-11333
> Project: Flink
> Issue Type: Sub-task
> Components: Type Serialization System
> Reporter: Tzu-Li (Gordon) Tai
> Assignee: Yun Tang
> Priority: Major
>
> I think we have more and more users who are thinking about using Protobuf for
> their state types.
> Right now, Protobuf isn't supported directly in Flink. The only way to use
> Protobuf for a type is to register it via Kryo:
> https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/custom_serializers.html.
> Likewise for Avro types, we should be able to natively support Protobuf,
> having a {{ProtobufSerializer}} that handles serialization of Protobuf types.
> The serializer should also write necessary information in its snapshot, to
> enable schema evolution for it in the future. For Protobuf, this should
> almost work out-of-the-box.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)