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

Doug Cutting updated AVRO-1895:
-------------------------------
    Attachment: AVRO-1895.patch

Here's a new version of the patch that makes the changes suggested by Sean. 

The tests now check deepCopy of both UUID and Decimal logical types, both with 
conversions enabled and without, directly, nested in a record, nested in an 
array, and nested in a record in an array.

> DeepCopy does not work with logical types
> -----------------------------------------
>
>                 Key: AVRO-1895
>                 URL: https://issues.apache.org/jira/browse/AVRO-1895
>             Project: Avro
>          Issue Type: Improvement
>          Components: logical types
>    Affects Versions: 1.8.1
>            Reporter: Taras Bobrovytsky
>            Assignee: Doug Cutting
>            Priority: Critical
>         Attachments: AVRO-1895.patch, AVRO-1895.patch, AVRO-1895.patch
>
>
> AvroSchema is taken from a compiled avsc file which contains a decimal field.
> {code}
> AvroSchema.Builder builder = AvroSchema.newBuilder();
> BigDecimal bd = new BigDecimal(new BigInteger("155"), 3);
> campaignBuilder.setDecimalField(bd);
> AvroSchema source = builder.build();
> //This line causes an exception
> AvroSchema.Builder builder1 = AvroSchema.newBuilder(source);
> {code}
> Exception:
> {code}
> InvocationTargetException: java.math.BigDecimal cannot be cast to 
> java.nio.ByteBuffer
> {code}
> The same failure happens with GenericData as well:
> {code}
> GenericRecord copy = GenericData.get().deepCopy(AvroSchema.getClassSchema(), 
> source);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to