You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Josh Cooke (Jira)" <ji...@apache.org> on 2021/07/02 09:37:00 UTC
[jira] [Commented] (AVRO-2872) 'conversions' array is not populated
for Avro Union Logicaltype fields
[ https://issues.apache.org/jira/browse/AVRO-2872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17373381#comment-17373381 ]
Josh Cooke commented on AVRO-2872:
----------------------------------
Hi [~rskraba], have you had any more time to look at this?
> '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
> Assignee: Josh Cooke
> Priority: Minor
> Fix For: 1.11.0
>
>
> 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)