[ 
https://issues.apache.org/jira/browse/HUDI-5645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

huangweiyi updated HUDI-5645:
-----------------------------
    Attachment: Snipaste_2023-01-29_20-51-39.png

> hudi-0.12.2 IllegalAccessError when access Schema$LongSchemaConstructorAccess
> -----------------------------------------------------------------------------
>
>                 Key: HUDI-5645
>                 URL: https://issues.apache.org/jira/browse/HUDI-5645
>             Project: Apache Hudi
>          Issue Type: Bug
>            Reporter: huangweiyi
>            Priority: Major
>         Attachments: Snipaste_2023-01-29_20-51-39.png
>
>
> when run spark to upsert data with hudi-0.12.2, we come across exception:
> Caused by: java.lang.IllegalAccessError: tried to access class 
> org.apache.avro.Schema$LongSchema from class 
> org.apache.avro.Schema$LongSchemaConstructorAccess
>       at 
> org.apache.avro.Schema$LongSchemaConstructorAccess.newInstance(Unknown Source)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy$1.newInstance(Kryo.java:1275)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1139)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:562)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:538)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:161)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:39)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
>       at 
> org.apache.hudi.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)
>       at 
> org.apache.hudi.common.util.SerializationUtils$KryoSerializerInstance.deserialize(SerializationUtils.java:100)
>       at 
> org.apache.hudi.common.util.SerializationUtils.deserialize(SerializationUtils.java:74)
>       at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.get(BitCaskDiskMap.java:210)
>       at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.get(BitCaskDiskMap.java:203)
>       at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.get(BitCaskDiskMap.java:199)
>       at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.get(BitCaskDiskMap.java:68)
>       at 
> org.apache.hudi.common.util.collection.ExternalSpillableMap.get(ExternalSpillableMap.java:198)
>       at 
> org.apache.hudi.common.util.collection.ExternalSpillableMap.get(ExternalSpillableMap.java:55)
>       at 
> org.apache.hudi.io.HoodieCreateHandle.write(HoodieCreateHandle.java:186)
>       at 
> org.apache.hudi.table.HoodieSparkCopyOnWriteTable.handleInsert(HoodieSparkCopyOnWriteTable.java:263)
>       at 
> org.apache.hudi.table.action.compact.HoodieCompactor.compact(HoodieCompactor.java:231)
>       at 
> org.apache.hudi.table.action.compact.HoodieCompactor.lambda$compact$57154431$1(HoodieCompactor.java:138)
>       at 
> org.apache.spark.api.java.JavaPairRDD$.$anonfun$toScalaFunction$1(JavaPairRDD.scala:1070)
>       at scala.collection.Iterator$$anon$10.next(Iterator.scala:459)
>       at scala.collection.Iterator$$anon$11.nextCur(Iterator.scala:484)
>       at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:490)
>       at 
> org.apache.spark.storage.memory.MemoryStore.putIterator(MemoryStore.scala:221)
>       at 
> org.apache.spark.storage.memory.MemoryStore.putIteratorAsBytes(MemoryStore.scala:349)
>       at 
> org.apache.spark.storage.BlockManager.$anonfun$doPutIterator$1(BlockManager.scala:1440)
>       at 
> org.apache.spark.storage.BlockManager.org$apache$spark$storage$BlockManager$$doPut(BlockManager.scala:1350)
>       at 
> org.apache.spark.storage.BlockManager.doPutIterator(BlockManager.scala:1414)
>       at 
> org.apache.spark.storage.BlockManager.getOrElseUpdate(BlockManager.scala:1237)
>       at org.apache.spark.rdd.RDD.getOrCompute(RDD.scala:384)
>       at org.apache.spark.rdd.RDD.iterator(RDD.scala:335)
>       at 
> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
>       at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373)
>       at org.apache.spark.rdd.RDD.iterator(RDD.scala:337)
>       at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
>       at org.apache.spark.scheduler.Task.run(Task.scala:131)
>       at 
> org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:497)
>       at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1439)
>       at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:500)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> 23/01/29 11:30:33 INFO com.bybit.de.etl.job.DebeziumRawToOdsV3:414 - Stop 
> SparkSession and exit because of exception



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to