Pádraig de Buitléar created AVRO-2872: -----------------------------------------
Summary: 'conversions' array is not populated for Avro Union Logicaltype fields Key: AVRO-2872 URL: https://issues.apache.org/jira/browse/AVRO-2872 Project: Apache Avro Issue Type: Bug Components: logical types Affects Versions: 1.9.2 Environment: * Apache Avro Version [1.9.2] * Java Version [11] Reporter: Pádraig de Buitléar Steps to reproduce : # Using the maven/gradle plugin generate code with the following avsc: {code:java} { "type": "record", "name": "Messages", "namespace": "com.somedomain", "fields": [ { "name": "start", "type": { "type": "long", "logicalType": "timestamp-millis" } }, { "name": "optional_date", "type": [ "null", { "type": "long", "logicalType": "timestamp-millis" } ], "default": null } ] }{code} *Actual behavior* In the generated code, the return types of the getter methods for both fields are correct, however the conversions array only has an element for the field which isn't a union. {code:java} private static final org.apache.avro.Conversion<?>[] conversions = new org.apache.avro.Conversion<?>[] { new org.apache.avro.data.TimeConversions.TimestampMillisConversion(), null, null }; {code} *Expected output:* Based on the above avsc the following is expected. {code:java} private static final org.apache.avro.Conversion[] conversions = new org.apache.avro.Conversion[] { new org.apache.avro.data.TimeConversions.TimestampMillisConversion(), new org.apache.avro.data.TimeConversions.TimestampMillisConversion(), null }; {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)