[ https://issues.apache.org/jira/browse/AVRO-1895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15453256#comment-15453256 ]
Sean Busbey commented on AVRO-1895: ----------------------------------- Just occurred to me: Do we need to check that T is the type expected by the conversion ({{getConvertedType}})? Should we be using {{getConversionByClass(Class<T>, LogicalType)}} instead of {{getConversion(LogicalType)}}? > 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)