[
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