You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Doug Cutting (JIRA)" <ji...@apache.org> on 2012/09/05 20:01:07 UTC
[jira] [Commented] (AVRO-1146) Can't use ReflectData to get schema
when the type has a BigDecimal or BigInteger field
[ https://issues.apache.org/jira/browse/AVRO-1146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13448932#comment-13448932 ]
Doug Cutting commented on AVRO-1146:
------------------------------------
I'd prefer we address this as follows:
- Remove references to java.lang.Number, since Avro cannot correctly handle all subclasses.
- Add a mechanism to declare that an arbitrary class is Stringable.
- Use that mechanism to declare BigDecimal, BigInteger and other concrete Number subclasses.
I'll work on a patch that does this.
> Can't use ReflectData to get schema when the type has a BigDecimal or BigInteger field
> --------------------------------------------------------------------------------------
>
> Key: AVRO-1146
> URL: https://issues.apache.org/jira/browse/AVRO-1146
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.7.0
> Reporter: Alexandre Normand
> Labels: newbie
> Attachments: AVRO-1146.patch, TestReflectDataWithBigDecimal.java
>
>
> I'm using avro Reflection API for a specific use case and I have a bug where if the object I'm trying to get the Schema for has a field of type BigDecimal. Because BigDecimal extends java.lang.Number, we try to create a primitive schema for it but fail doing so with the following error:
> *{{org.apache.avro.AvroRuntimeException: Not a Specific class: class java.math.BigDecimal}}*
> I'm attaching a unit test that shows the problem with a basic type that has a single BigDecimal field.
> This basically also applied to all subclasses of java.lang.Number that are not primitives.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira