This PR aims to fix ClassCastException when reading avro decimal type in bechmark.
Why are the changes needed?
ORC-1191 Forcing object to double, but object type is ByteBuffer, which causes scan to fail.
java -jar core/target/orc-benchmarks-core-*-uber.jar scan data
Exception in thread "main" java.lang.ClassCastException: class java.nio.HeapByteBuffer cannot be cast to class java.lang.Double (java.nio.HeapByteBuffer and java.lang.Double are in module java.base of loader 'bootstrap')
at org.apache.orc.bench.core.convert.avro.AvroReader$DecimalConverter.convert(AvroReader.java:204)
at org.apache.orc.bench.core.convert.avro.AvroReader.nextBatch(AvroReader.java:69)
at org.apache.orc.bench.core.convert.ScanVariants.run(ScanVariants.java:92)
at org.apache.orc.bench.core.Driver.main(Driver.java:64)
How was this patch tested?
local test
java -jar core/target/orc-benchmarks-core-*-uber.jar scan data
What changes were proposed in this pull request?
This PR aims to fix
ClassCastException
when reading avro decimal type in bechmark.Why are the changes needed?
ORC-1191 Forcing
object
todouble
, but object type isByteBuffer
, which causes scan to fail.How was this patch tested?
local test
output
Was this patch authored or co-authored using generative AI tooling?
No