[
https://issues.apache.org/jira/browse/AVRO-3179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17884517#comment-17884517
]
cesuciso edited comment on AVRO-3179 at 9/25/24 7:12 AM:
---------------------------------------------------------
I resolved my issues using "avro-tools.jar compile -bigDecimal".
With this flag avro-tools generates my classes with java.math.BigDecimal
instead of ByteBuffer. And I have no exception when values are not null nor
null. All my tests are OK.
BigInteger are still converted as ByteBuffer.
was (Author: JIRAUSER299108):
I resolved my issues using "avro-tools.jar compile -bigDecimal". I'm not fully
sure because a lot of time has passed since.
With this flag avro-tools generates my classes with java.math.BigDecimal
instead of ByteBuffer. And I have no exception when values are not null nor
null. All my tests are OK.
BigInteger are still converted as ByteBuffer.
> 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)