Mahesh created AVRO-2177:
----------------------------
Summary: avro-protobuf not honouring java_multiple_files option
Key: AVRO-2177
URL: https://issues.apache.org/jira/browse/AVRO-2177
Project: Avro
Issue Type: Bug
Components: java
Affects Versions: 1.8.2
Reporter: Mahesh
Using avro-protobuf for google protobuf timestamp models fails to extract
schema due to invalid namespace resolution.
Proto model for timestamp has following options defined.
{code:java}
option java_outer_classname = "TimestampProto";
option java_multiple_files = true;
{code}
That would mean that the generated code for Timestamp will be at
"com.google.protobuf.Timestamp" rather than
"com.google.protobuf.TimestampProto$Timestamp".
However, when I try to derive an avro schema from a proto model using google
timestamp, avro-protobuf is not honouring the java_multiple_files option and
tries to look for timestamp class at
"com.google.protobuf.TimestampProto$Timestamp"
{code:java}
Caused by: java.lang.ClassNotFoundException: Failed to load
classcom.google.protobuf.TimestampProto$Timestamp
at org.apache.avro.util.ClassUtils.forName(ClassUtils.java:60)
at org.apache.avro.util.ClassUtils.forName(ClassUtils.java:36)
at
com.deliveroo.data.util.proto.avro.ProtobufData.newRecord(ProtobufData.java:137){code}
"getNamespace" of org.apache.avro.protobuf.ProtobufData ins't honouring
multiple files option there by breaking models that import google proto
definitions.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)