[
https://issues.apache.org/jira/browse/AVRO-3179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17697064#comment-17697064
]
cesuciso edited comment on AVRO-3179 at 3/6/23 5:44 PM:
--------------------------------------------------------
In my issue, the exception is only thrown when my Avro "Decimal" field is
nullable (as it is the case in the table.avsc example). When the field is not
nullable, the exception is not thrown.
I currently don't use the -BigDecimal compile option, and my code currently
expects Decimal Avro value to be considered as java.nio.ByteBuffer (null when
the value is null or not)
Do we need to add the "-BigDecimal" option, consider all BigDecimal values must
be considered as java.Math.BigDecimal (null when the value is null, or not),
and so, forget java.nio.ByteBuffer for "Decimal" Avro fields ?
was (Author: JIRAUSER299108):
In my issue, the exception is only thrown when my Avro "Decimal" field is
nullable (as it is the case in the table.avsc example). When the field is not
nullable, the exception is not thrown.
I currently don't use the -BigDecimal compile option, and my code currently
expects Decimal Avro value to be considered as java.nio.ByteBuffer (null when
the value is null or not)
Do we need to add the "-BigDecimal" option and consider all BigDecimal values
must be considered as java.Math.BigDecimal (null when the value is null, or
not) ?
> ClassCastException: java.math.BigDecimal cannot be cast to java.nio.ByteBuffer
> ------------------------------------------------------------------------------
>
> Key: AVRO-3179
> URL: https://issues.apache.org/jira/browse/AVRO-3179
> Project: Apache Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.10.2
> Reporter: MarcelKobain
> Priority: Blocker
> Attachments: table.avsc
>
>
> Hello,
> I think we have the same problem as AVRO-2212.
> I have classCassException with a bigDecimal.
>
> Context :
> I am doing an ETL with postgres >> KafkaConnect >> KafkaStream
> I get schemas with mvn schema-registry:download
> I generate pojo with : mvn clean avro:schema
> Then I launch my app to stream a table source to a table target
> see schema here : [^table.avsc]
>
> I have fixed passing on the 1.10.1 version and it works. But When i take
> 1.10.2 I have the bug :
> Caused by: java.lang.ClassCastException: java.math.BigDecimal cannot be cast
> to java.nio.ByteBufferCaused by: java.lang.ClassCastException:
> java.math.BigDecimal cannot be cast to java.nio.ByteBuffer at
> postgres.table.Value.put(Value.java:240) at
> org.apache.avro.generic.GenericData.setField(GenericData.java:818) at
> org.apache.avro.specific.SpecificDatumReader.readField(SpecificDatumReader.java:139)
> at
> org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:247)
> at
> org.apache.avro.specific.SpecificDatumReader.readRecord(SpecificDatumReader.java:123)
> at
> org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:179)
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)