Guðjón created AVRO-3216:
----------------------------
Summary: Rust: failure reading multiple use of named schemas in
file
Key: AVRO-3216
URL: https://issues.apache.org/jira/browse/AVRO-3216
Project: Apache Avro
Issue Type: Bug
Reporter: Guðjón
Attachments: weather-complex.avro
I have an avro file that contains records of a specific schema. The file is
written using the java implementation, with the generated classes.
The schema itself uses named schemas in a way where two or more fields use the
same named schema. A good example of this could be this weather schema
{code:json}
{
"doc": "A weather reading.",
"name": "Weather",
"namespace": "test",
"type": "record",
"fields": [
{
"name": "station",
"type": "string"
},
{
"name": "max_temp",
"type": "Temp"
},
{
"name": "min_temp",
"type": "Temp"
}
]
}
{code}
with the named schema Temp being
{code:json}
{
"doc": "A temperature reading.",
"name": "Temp",
"namespace": "test",
"type": "record",
"fields": [
{
"name": "temp",
"type": "long"
}
]
}
{code}
The schema that is written in the file inlines the Temp schema in the case of
the first field (max_temp) but references it by name in the second field
(min_temp). In both java and python implementations it manages to read the file
correctly but the avro-rs crate fails on the second field with a message:
{noformat}
panicked at 'Failure reading file: Unknown primitive type: Temp'
{noformat}
The attached file weather-complex.avro is a file written using the java library
with generated classes and contains one record.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)