[ https://issues.apache.org/jira/browse/AVRO-1895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15453480#comment-15453480 ]
Sean Busbey commented on AVRO-1895: ----------------------------------- My concern is that reading through GenericData it looks like I could register multiple conversions for a given logical type that differ only in their expected converted type. Looking up with {{getConversion(LogicalType)}} will only succeed in getting the last such conversion registered for the logicalType, whereas {{getConversionByClass (Class<T>, LogicalType)}} would work for the last registered conversion for each logicalType/converted-type pair. This would be useful, for example, if you were trying to coalesce data from multiple libraries that themselves used different converted types for a given logical type. > 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)