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]