[ 
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)

Reply via email to