Hi, I executing the following snippet on two different environments.
-------- StreamExecutionEnvironment streamEnv = StreamExecutionEnvironment.createRemoteEnvironment("xxxxxxxxx", 6123); streamEnv.setParallelism(10); StreamTableEnvironment tableEnv = TableEnvironment.getTableEnvironment(streamEnv); DataStream<Tuple2<Integer, String>> stream1 = streamEnv.fromElements(new Tuple2<>(1, "hello")); tableEnv.registerDataStream("a", stream1); DataStream<Row> dataStream = tableEnv.toAppendStream(tableEnv.sql("SELECT f0, f1 from a"), Row.class); dataStream.print(); streamEnv.execute("job"); -------- When executing through IDE everything works fine. However if I execute the same code loaded by a different class loader used on our application I get the following error, on flink side. org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot load user class: ch.qos.logback.classic.Logger ClassLoader info: URL ClassLoader: Class not resolvable through given classloader. at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperator(StreamConfig.java:229) at org.apache.flink.streaming.runtime.tasks.OperatorChain.<init>(OperatorChain.java:95) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:230) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702) at java.lang.Thread.run(Thread.java:745) On the client side we are using logback but according with the snippet there is no need to load logback on flink side. Is there any reference binding while building a stream graph or job that might reference logback as dependency? Or does flink assumes client log mechanism? Thanks -- View this message in context: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Logback-user-class-tp14464.html Sent from the Apache Flink User Mailing List archive. mailing list archive at Nabble.com.