Marcos created AVRO-3917: ---------------------------- Summary: [Rust] Field aliases are not taken into account when calculating schema compatibility Key: AVRO-3917 URL: https://issues.apache.org/jira/browse/AVRO-3917 Project: Apache Avro Issue Type: Improvement Reporter: Marcos
When calculating the schema compatibility field aliases are not taken into account to calculate the end result, for example: The compatibility result for following schemas (writer schema_v1 and reader schema_v2) must be {*}Ok(()){*}, but it is not the case {code:js} let schema_v1 = Schema::parse_str(r#" { "type": "record", "name": "Conference", "namespace": "advdaba", "fields": [ {"type": "string", "name": "name"}, {"type": "long", "name": "time"} ] }"#)?; let schema_v2 = Schema::parse_str(r#" { "type": "record", "name": "Conference", "namespace": "advdaba", "fields": [ {"type": "string", "name": "name"}, {"type": "long", "name": "date", "aliases" : [ "time" ]} ] }"#)?; {code} Then the compatibility gives the following *error* {code:js} assert!(SchemaCompatibility::can_read(&schema_v1, &schema_v2).is_err()); // Incompatible schemata! Field 'date' in reader schema must have a default value" {code} The error must not happen because *date* has the *time* alias -- This message was sent by Atlassian Jira (v8.20.10#820010)