You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "huangweiyi (Jira)" <ji...@apache.org> on 2023/01/29 12:51:00 UTC

[jira] [Updated] (HUDI-5645) hudi-0.12.2 IllegalAccessError when access Schema$LongSchemaConstructorAccess

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

huangweiyi updated HUDI-5645:
-----------------------------
    Description: 
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

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