mknaw created AVRO-3970:
---------------------------
Summary: [Rust] incorrect compatibility checks with logicalType
uuid
Key: AVRO-3970
URL: https://issues.apache.org/jira/browse/AVRO-3970
Project: Apache Avro
Issue Type: Bug
Components: rust
Reporter: mknaw
A schema with a logicalType uuid field is incompatible with itself, per
`SchemaCompatibility`:
```
use apache_avro::\{Schema, schema_compatibility::SchemaCompatibility};
fn main() {
let schema_str = r#"\{"type": "string", "logicalType": "uuid"}"#;
let writers_schema = Schema::parse_str(schema_str).unwrap();
let readers_schema = Schema::parse_str(schema_str).unwrap();
if let Err(err) = SchemaCompatibility::can_read(&writers_schema,
&readers_schema) {
eprintln!("Error: {}", err);
}
}
```
this is the behavior on `main` as of writing (`876eae32`) and on the latest
version on crates.rs (`v0.16.0`)
I have a proposed fix here:
https://github.com/apache/avro/compare/main...mknaw:avro:logical-type-compat-fix
Perhaps there are other valid logicalTypes with this behavior. I have not
checked every logicalType yet.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)