garyli1019 opened a new issue #1890:
URL: https://github.com/apache/hudi/issues/1890


   I am testing the MOR Spark data source support #1848 . The entire dataset 
was 100+GB, and I upsert 3GB duplicate data into 30 partitions. Each upserted 
partition has a 100MB parquet file and 1GB+ log file with exact same records. 
The merging logic works fine but for 4 partitions, it's failed due to a kryo 
exception when `HoodieMergedLogRecordScanner.getRecords.get(key)". It always 
gets stuck on a single record. I am guessing there is a corrupted record in the 
log file. Have you guys seen this before?
   @vinothchandar @n3nash 
   
   Caused by: com.esotericsoftware.kryo.KryoException: Unable to find class: 
org.apache.hudi.common.model.OverwriteWithLatestAvroPayload$$Lambda$45/62103784
   Serialization trace:
   orderingVal (org.apache.hudi.common.model.OverwriteWithLatestAvroPayload)
   data (org.apache.hudi.common.model.HoodieRecord)
     at 
com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:160)
     at 
com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:133)
     at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:693)
     at 
com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:118)
     at 
com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
     at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
     at 
com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
     at 
com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
     at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)
     at 
org.apache.hudi.common.util.SerializationUtils$KryoSerializerInstance.deserialize(SerializationUtils.java:107)
     at 
org.apache.hudi.common.util.SerializationUtils.deserialize(SerializationUtils.java:81)
     at 
org.apache.hudi.common.util.collection.DiskBasedMap.get(DiskBasedMap.java:217)
     at 
org.apache.hudi.common.util.collection.DiskBasedMap.get(DiskBasedMap.java:211)
     at 
org.apache.hudi.common.util.collection.DiskBasedMap.get(DiskBasedMap.java:207)
     at 
org.apache.hudi.common.util.collection.ExternalSpillableMap.get(ExternalSpillableMap.java:168)
     at 
org.apache.hudi.common.util.collection.ExternalSpillableMap.get(ExternalSpillableMap.java:55)
     at 
org.apache.hudi.HoodieMergeOnReadRDD$$anon$1.hasNext(HoodieMergeOnReadRDD.scala:128)
     at 
org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.agg_doAggregateWithoutKey_0$(Unknown
 Source)
     at 
org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown
 Source)
     at 
org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
     at 
org.apache.spark.sql.execution.WholeStageCodegenExec$$anonfun$11$$anon$1.hasNext(WholeStageCodegenExec.scala:624)
     at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
     at 
org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:125)
     at 
org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
     at 
org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
     at org.apache.spark.scheduler.Task.run(Task.scala:121)
     at 
org.apache.spark.executor.Executor$TaskRunner$$anonfun$11.apply(Executor.scala:407)
     at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1408)
     at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:413)
     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)
   Caused by: java.lang.ClassNotFoundException: 
org.apache.hudi.common.model.OverwriteWithLatestAvroPayload$$Lambda$45/62103784
     at java.lang.Class.forName0(Native Method)
     at java.lang.Class.forName(Class.java:348)
     at 
com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:154)
     ... 31 more


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to