[
https://issues.apache.org/jira/browse/AVRO-2788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17074162#comment-17074162
]
Hudson commented on AVRO-2788:
------------------------------
SUCCESS: Integrated in Jenkins build AvroJava #841 (See
[https://builds.apache.org/job/AvroJava/841/])
AVRO-2788: Default Proto repeated fields to empty arrays (#850) (github:
[https://github.com/apache/avro/commit/c81ea58c601a2f600d9d45cf50b9f6434b911d5a])
* (edit)
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/TestProtobuf.java
* (edit)
lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
> Generated Avro schema from Protobuf is missing default values for repeated
> fields
> ---------------------------------------------------------------------------------
>
> Key: AVRO-2788
> URL: https://issues.apache.org/jira/browse/AVRO-2788
> Project: Apache Avro
> Issue Type: Improvement
> Components: java
> Affects Versions: 1.9.2
> Reporter: Tianyu Lang
> Assignee: Tianyu Lang
> Priority: Major
> Fix For: 1.9.3
>
> Attachments: AVRO-2788.patch
>
>
> Avro schemas generated from Protobuf schemas by *ProtobufData.java* are
> missing default values for repeated (array) fields.
> This will break compatibility when Avro is used as a transport format between
> 2 services that use Protobuf internally.
>
> For example:
> A publisher converts Protobuf to Avro, then sends the message through Kafka
> to a consumer. The consumer then converts Avro back into Protobuf, then does
> all the processing with Protobuf.
>
> A compatibility issue will occur when a new repeated Protobuf field is added
> to the consumer Protobuf schema. The corresponding Avro schema generated from
> {code:java}
> Schema schema = ProtobufData.get().getSchema(MyProtobufClass.class);
> {code}
> will not assign default values to the newly added repeated field. Because
> the publisher is still on the schema without the newly added array field,
> deserialization on the consumer side will fail since there is no default
> values to fill in.
>
>
>
> I discussed this with [~cutting] on the mailing list and it makes sense to
> just add default values for Protobuf repeated fields.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)