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

sivabalan narayanan updated HUDI-8644:
--------------------------------------
    Summary: Compaction based on new FG reader hits Concurrent modification 
exception  (was: Clustering based on new FG reader hits Concurrent modification 
exception)

> Compaction based on new FG reader hits Concurrent modification exception
> ------------------------------------------------------------------------
>
>                 Key: HUDI-8644
>                 URL: https://issues.apache.org/jira/browse/HUDI-8644
>             Project: Apache Hudi
>          Issue Type: Bug
>          Components: clustering
>            Reporter: sivabalan narayanan
>            Priority: Blocker
>             Fix For: 1.0.0
>
>
>  
>  
> {code:java}
> 24/12/04 01:53:19 WARN TaskSetManager: Lost task 3.0 in stage 175.0 (TID 
> 7640) (ip-10-0-106-23.us-west-2.compute.internal executor 7): 
> com.esotericsoftware.kryo.KryoException: 
> java.lang.UnsupportedOperationException
> Serialization trace:
> reserved (org.apache.avro.Schema$Field)
> fieldMap (org.apache.avro.Schema$RecordSchema)
> right (org.apache.hudi.common.util.collection.ImmutablePair)
>         at 
> com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:144)
>         at 
> com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543)
>         at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)
>         at 
> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:161)
>         at 
> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:39)
>         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 
> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:161)
>         at 
> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:39)
>         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:103){code}
> {code:java}
>         at 
> org.apache.hudi.common.util.SerializationUtils.deserialize(SerializationUtils.java:77)
>         at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.get(BitCaskDiskMap.java:209)
>         at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.get(BitCaskDiskMap.java:202)
>         at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.get(BitCaskDiskMap.java:198)
>         at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.remove(BitCaskDiskMap.java:245)
>         at 
> org.apache.hudi.common.util.collection.BitCaskDiskMap.remove(BitCaskDiskMap.java:67)
>         at 
> org.apache.hudi.common.util.collection.ExternalSpillableMap.remove(ExternalSpillableMap.java:240)
>         at 
> org.apache.hudi.common.table.read.HoodiePositionBasedFileGroupRecordBuffer.hasNextBaseRecord(HoodiePositionBasedFileGroupRecordBuffer.java:221)
>         at 
> org.apache.hudi.common.table.read.HoodieKeyBasedFileGroupRecordBuffer.doHasNext(HoodieKeyBasedFileGroupRecordBuffer.java:135)
>         at 
> org.apache.hudi.common.table.read.HoodieBaseFileGroupRecordBuffer.hasNext(HoodieBaseFileGroupRecordBuffer.java:156)
>         at 
> org.apache.hudi.common.table.read.HoodieFileGroupReader.hasNext(HoodieFileGroupReader.java:236)
>         at 
> org.apache.hudi.common.table.read.HoodieFileGroupReader$HoodieFileGroupReaderIterator.hasNext(HoodieFileGroupReader.java:296)
>         at 
> org.apache.hudi.io.HoodieSparkMergeHandleV2.write(HoodieSparkMergeHandleV2.java:230)
>         at 
> org.apache.hudi.table.HoodieSparkCopyOnWriteTable.compactUsingFileGroupReader(HoodieSparkCopyOnWriteTable.java:285)
>         at 
> org.apache.hudi.table.action.compact.HoodieCompactor.compact(HoodieCompactor.java:295)
>         at 
> org.apache.hudi.table.action.compact.HoodieCompactor.lambda$compact$41887b12$1(HoodieCompactor.java:150)
>         at 
> org.apache.spark.api.java.JavaPairRDD$.$anonfun$toScalaFunction$1(JavaPairRDD.scala:1070)
>         at scala.collection.Iterator$$anon$10.next(Iterator.scala:461)
>         at scala.collection.Iterator$$anon$11.nextCur(Iterator.scala:486)
>         at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:492)
>         at 
> org.apache.spark.storage.memory.MemoryStore.putIterator(MemoryStore.scala:223){code}
> {code:java}
>         at 
> org.apache.spark.storage.memory.MemoryStore.putIteratorAsBytes(MemoryStore.scala:352)
>         at 
> org.apache.spark.storage.BlockManager.$anonfun$doPutIterator$1(BlockManager.scala:1614)
>         at 
> org.apache.spark.storage.BlockManager.org$apache$spark$storage$BlockManager$$doPut(BlockManager.scala:1524)
>         at 
> org.apache.spark.storage.BlockManager.doPutIterator(BlockManager.scala:1588)
>         at 
> org.apache.spark.storage.BlockManager.getOrElseUpdate(BlockManager.scala:1389)
>         at 
> org.apache.spark.storage.BlockManager.getOrElseUpdateRDDBlock(BlockManager.scala:1343)
>         at org.apache.spark.rdd.RDD.getOrCompute(RDD.scala:379)
>         at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
>         at 
> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
>         at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:367)
>         at org.apache.spark.rdd.RDD.iterator(RDD.scala:331)
>         at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:93)
>         at 
> org.apache.spark.TaskContext.runTaskWithListeners(TaskContext.scala:166)
>         at org.apache.spark.scheduler.Task.run(Task.scala:141)
>         at 
> org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$4(Executor.scala:620)
>         at 
> org.apache.spark.util.SparkErrorUtils.tryWithSafeFinally(SparkErrorUtils.scala:64)
>         at 
> org.apache.spark.util.SparkErrorUtils.tryWithSafeFinally$(SparkErrorUtils.scala:61)
>         at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:94)
>         at 
> org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:623)
>         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:750)
> Caused by: java.lang.UnsupportedOperationException
>         at 
> java.util.Collections$UnmodifiableCollection.add(Collections.java:1057)
>         at 
> com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:134)
>         at 
> com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:40)
>         at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731){code}
> {code:java}
>         at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:731)
>         at 
> com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125)
>         ... 58 more
> 24/12/04 01:53:19 INFO TaskSetManager: Starting task 3.1 in stage 175.0 (TID 
> 9109) (ip-10-0-99-46.us-west-2.compute.internal, executor 6, partition 3, 
> PROCESS_LOCAL, 9798 bytes) {code}
> {code:java}
> 24/12/04 01:53:20 INFO TaskSetManager: Lost task 4.0 in stage 175.0 (TID 
> 7641) on ip-10-0-99-46.us-west-2.compute.internal, executor 6: 
> com.esotericsoftware.kryo.KryoException 
> (java.lang.UnsupportedOperationException
> Serialization trace:
> reserved (org.apache.avro.Schema$Field)
> fieldMap (org.apache.avro.Schema$RecordSchema)
> right (org.apache.hudi.common.util.collection.ImmutablePair)) [duplicate 1]
> 24/12/04 01:53:20 INFO TaskSetManager: Starting task 4.1 in stage 175.0 (TID 
> 9110) (ip-10-0-90-216.us-west-2.compute.internal, executor 4, partition 4, 
> PROCESS_LOCAL, 9798 bytes) 
> 24/12/04 01:53:21 INFO BlockManagerInfo: Added rdd_359_37 in memory on 
> ip-10-0-66-62.us-west-2.compute.internal:40389 (size: 363.0 B, free: 29.4 GiB)
> 24/12/04 01:53:21 INFO TaskSetManager: Finished task 37.0 in stage 175.0 (TID 
> 7674) in 43143 ms on ip-10-0-66-62.us-west-2.compute.internal (executor 10) 
> (43/79)
> 24/12/04 01:53:21 INFO TaskSetManager: Lost task 9.0 in stage 175.0 (TID 
> 7646) on ip-10-0-118-204.us-west-2.compute.internal, executor 9: 
> com.esotericsoftware.kryo.KryoException 
> (java.lang.UnsupportedOperationException
> Serialization trace:
> reserved (org.apache.avro.Schema$Field)
> fieldMap (org.apache.avro.Schema$RecordSchema)
> right (org.apache.hudi.common.util.collection.ImmutablePair)) [duplicate 2]
> 24/12/04 01:53:21 INFO TaskSetManager: Starting task 9.1 in stage 175.0 (TID 
> 9111) (ip-10-0-88-53.us-west-2.compute.internal, executor 5, partition 9, 
> PROCESS_LOCAL, 9798 bytes) 
> 24/12/04 01:53:21 INFO BlockManagerInfo: Added rdd_359_23 in memory on 
> ip-10-0-106-23.us-west-2.compute.internal:39533 (size: 362.0 B, free: 29.6 
> GiB)
> 24/12/04 01:53:21 INFO TaskSetManager: Finished task 23.0 in stage 175.0 (TID 
> 7660) in 43215 ms on ip-10-0-106-23.us-west-2.compute.internal (executor 7) 
> (44/79)
> 24/12/04 01:53:21 INFO TaskSetManager: Lost task 12.0 in stage 175.0 (TID 
> 7649) on ip-10-0-88-53.us-west-2.compute.internal, executor 5: 
> com.esotericsoftware.kryo.KryoException 
> (java.lang.UnsupportedOperationException {code}
>  
>  
>  
>  
>  
>  



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

Reply via email to