You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Adrian McCague (JIRA)" <ji...@apache.org> on 2017/04/24 19:10:04 UTC
[jira] [Created] (AVRO-2028) Specific Data,
newBuilder(existingInstance) fails for BigDecimal
Adrian McCague created AVRO-2028:
------------------------------------
Summary: Specific Data, newBuilder(existingInstance) fails for BigDecimal
Key: AVRO-2028
URL: https://issues.apache.org/jira/browse/AVRO-2028
Project: Avro
Issue Type: Bug
Affects Versions: 1.8.2
Reporter: Adrian McCague
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
(v6.3.15#6346)