yittg opened a new issue #3776:
URL: https://github.com/apache/iceberg/issues/3776


   Hi, i'm trying to test the unreleased Flink 1.13 connector on a Flink 1.13.1 
cluster running on k8s.
   
   The task is simple like `INSERT OVERWRITE a SELECT * FROM b`.
   
   When i submit a task for the first time, it's ok.
   But when i submit the task for the second time(run on the same TaskManager 
with the first time), the following exception is thrown, it's weird.
   
   <details>
   <summary>java.lang.IllegalStateException: Trying to access closed 
classloader</summary>
   
   ```
   2021-12-20 11:53:11,697 INFO  org.apache.flink.runtime.taskmanager.Task      
              [] - IcebergFilesCommitter -> Sink: IcebergSink ice.t1.d (1/1)#0 
(e74babbac1ebb51fe72958bd177ae534) switched from INITIALIZING to RUNNING.
   2021-12-20 11:53:11,854 INFO  
org.apache.iceberg.flink.sink.IcebergFilesCommitter          [] - Committing 
dynamic partition overwrite with 1 data files and 0 delete files to table 
ice.t1.d
   2021-12-20 11:53:11,946 WARN  org.apache.flink.runtime.taskmanager.Task      
              [] - IcebergFilesCommitter -> Sink: IcebergSink ice.t1.d (1/1)#0 
(e74babbac1ebb51fe72958bd177ae534) switched from RUNNING to FAILED with failure 
cause: java.lang.IllegalStateException: Trying to access closed classloader. 
Please check if you store classloaders directly or indirectly in static fields. 
If the stacktrace suggests that the leak occurs in a third party library and 
cannot be fixed immediately, you can disable this check with the configuration 
'classloader.check-leaked-classloader'.
        at 
org.apache.flink.runtime.execution.librarycache.FlinkUserCodeClassLoaders$SafetyNetWrapperClassLoader.ensureInner(FlinkUserCodeClassLoaders.java:164)
        at 
org.apache.flink.runtime.execution.librarycache.FlinkUserCodeClassLoaders$SafetyNetWrapperClassLoader.loadClass(FlinkUserCodeClassLoaders.java:172)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Unknown Source)
        at org.apache.iceberg.common.DynClasses$Builder.impl(DynClasses.java:68)
        at 
org.apache.iceberg.avro.GenericAvroReader$ReadBuilder.record(GenericAvroReader.java:85)
        at 
org.apache.iceberg.avro.GenericAvroReader$ReadBuilder.record(GenericAvroReader.java:72)
        at 
org.apache.iceberg.avro.AvroSchemaVisitor.visit(AvroSchemaVisitor.java:50)
        at 
org.apache.iceberg.avro.GenericAvroReader.initReader(GenericAvroReader.java:47)
        at 
org.apache.iceberg.avro.GenericAvroReader.setSchema(GenericAvroReader.java:53)
        at 
org.apache.iceberg.avro.ProjectionDatumReader.newDatumReader(ProjectionDatumReader.java:80)
        at 
org.apache.iceberg.avro.ProjectionDatumReader.setSchema(ProjectionDatumReader.java:69)
        at 
org.apache.iceberg.shaded.org.apache.avro.file.DataFileStream.initialize(DataFileStream.java:133)
        at 
org.apache.iceberg.shaded.org.apache.avro.file.DataFileReader.<init>(DataFileReader.java:130)
        at 
org.apache.iceberg.shaded.org.apache.avro.file.DataFileReader.<init>(DataFileReader.java:122)
        at 
org.apache.iceberg.shaded.org.apache.avro.file.DataFileReader.openReader(DataFileReader.java:66)
        at 
org.apache.iceberg.avro.AvroIterable.newFileReader(AvroIterable.java:100)
        at 
org.apache.iceberg.avro.AvroIterable.getMetadata(AvroIterable.java:66)
        at org.apache.iceberg.ManifestReader.<init>(ManifestReader.java:103)
        at org.apache.iceberg.ManifestFiles.read(ManifestFiles.java:87)
        at 
org.apache.iceberg.SnapshotProducer.newManifestReader(SnapshotProducer.java:378)
        at 
org.apache.iceberg.MergingSnapshotProducer$DataFileFilterManager.newManifestReader(MergingSnapshotProducer.java:716)
        at 
org.apache.iceberg.ManifestFilterManager.filterManifest(ManifestFilterManager.java:295)
        at 
org.apache.iceberg.ManifestFilterManager.lambda$filterManifests$0(ManifestFilterManager.java:186)
        at 
org.apache.iceberg.util.Tasks$Builder.runTaskWithRetry(Tasks.java:405)
        at org.apache.iceberg.util.Tasks$Builder.access$300(Tasks.java:71)
        at org.apache.iceberg.util.Tasks$Builder$1.run(Tasks.java:311)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown 
Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
Source)
        at java.base/java.lang.Thread.run(Unknown Source)
   ```
   </details>


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

To unsubscribe, e-mail: [email protected]

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



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to