Hi, Yangze Guo, Chesnay Schepler thank you very much for your answers. I have actually a funny setup. So I have a Flink Job module, generated from Flink's maven archetype. This module has all operators and Flink environment config and execution. This module is compiled by maven with "maven.compiler.target" set to 1.8
However I'm using a 3rd party library that was compiled with java 11. In order to build my main Job module I have to use JDK 11, however I still have "maven.compiler.target" set to 1.8 there. As a result, I have a Flink job jar, that has classes from Java 8 and 11. Running javap -verbose proves it. All classes from Flink Job module are in Java 8. I can build Flink Job cluster image that is based on [1]. However i had to change base image from openjdk:8-jre-alpine to adoptopenjdk/openjdk11:jre-11.0.5_10-alpine plus remove installing libc6-compat. After rebuilding the docker image, Job cluster started and process messges. On original openjdk:8-jre-alpine it was unable to start due issues with loading classes from my 3rd party library (Unsupported major.minor version exception) So this seems to work. However if I would change "maven.compiler.target" to Java 11 in my Flink Job module, then Flink is unable to run the Job giving me this exception job-cluster_1 | Caused by: java.lang.UnsupportedOperationException job-cluster_1 | at org.apache.flink.shaded.asm6.org.objectweb.asm.ClassVisitor.visitNestHostExperimental(ClassVisitor.java:158) job-cluster_1 | at org.apache.flink.shaded.asm6.org.objectweb.asm.ClassReader.accept(ClassReader.java:541) job-cluster_1 | at org.apache.flink.shaded.asm6.org.objectweb.asm.ClassReader.accept(ClassReader.java:391) job-cluster_1 | at org.apache.flink.api.java.ClosureCleaner.cleanThis0(ClosureCleaner.java:187) job-cluster_1 | at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:100) job-cluster_1 | at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126) job-cluster_1 | at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:71) job-cluster_1 | at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.clean(StreamExecutionEnvironment.java:1574) job-cluster_1 | at org.apache.flink.streaming.api.datastream.DataStream.clean(DataStream.java:185) job-cluster_1 | at org.apache.flink.streaming.api.datastream.DataStream.process(DataStream.java:668) job-cluster_1 | at org.apache.flink.streaming.api.datastream.DataStream.process(DataStream.java:645) job-cluster_1 | at com.epam.monity.job.StreamJob.doTheJob(StreamJob.java:140) job-cluster_1 | at com.epam.monity.job.StreamJob.main(StreamJob.java:46) job-cluster_1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) job-cluster_1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) job-cluster_1 | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) job-cluster_1 | at java.base/java.lang.reflect.Method.invoke(Unknown Source) job-cluster_1 | at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:576) job-cluster_1 | ... 13 more Long story short, seems that for now, Job module has to be compiled to 1.8 with JDK 11 if Java 11 libraries are used. [1] https://github.com/apache/flink/blob/release-1.9/flink-container/docker/README.md -- Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/