You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org> on 2018/12/30 04:10:01 UTC

[jira] [Updated] (AVRO-2028) Specific Data, newBuilder(existingInstance) fails for BigDecimal

     [ https://issues.apache.org/jira/browse/AVRO-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-2028:
--------------------------------------
    Component/s: java

> Specific Data, newBuilder(existingInstance) fails for BigDecimal
> ----------------------------------------------------------------
>
>                 Key: AVRO-2028
>                 URL: https://issues.apache.org/jira/browse/AVRO-2028
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.8.2
>            Reporter: Adrian McCague
>            Priority: Major
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Using 1.8.2-rc3
> When attempting to use:
> {{MyType.newBuilder(existingType)}}
> With a field of type {{Union}}:
> {code}
> ["null",{"type":"bytes","logicalType":"decimal","precision":20,"scale":8}]
> {code}
> I get the following exception:
> {code}
> org.apache.avro.UnresolvedUnionException: Not in union ["null",{"type":"bytes","logicalType":"decimal","precision":20,"scale":8}]: 12000.00000000
> 	at org.apache.avro.generic.GenericData.resolveUnion(GenericData.java:740)
> 	at org.apache.avro.generic.GenericData.deepCopyRaw(GenericData.java:1146)
> 	at org.apache.avro.generic.GenericData.deepCopy(GenericData.java:1062)
> 	at MyType$Builder.<init>
> {code}
> I suspected it may be related but also noticed in the generated Specific Data class the following:
> {code}
> private static final org.apache.avro.Conversion<?>[] conversions =
>       new org.apache.avro.Conversion<?>[] {
>       null,
>       TIMESTAMP_CONVERSION,
>       null,
>       null, // Should be DECIMAL_CONVERSION
>       null,
>       null,
>       null,
>       null,
>       null
>   };
> {code}
> ie, the conversion was missing.
> Adding this by hand however did not resolve the issue. I will add this as another issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)