Details
-
Bug
-
Status: Reopened
-
Not a Priority
-
Resolution: Unresolved
-
1.11.0
-
None
-
None
-
sql-client startup cmd as following:
./bin/sql-client.sh embedded
-
Important
Description
Create table as following:
USE CATALOG default_catalog;
USE default_database;
DROP TABLE IF EXISTS CarsOfFactory;
CREATE TABLE CarsOfFactory (
TS STRING,
MANUFACTURE_PLANT STRING,
STAGE STRING,
CAR_NO BIGINT,
UPDATE_TIME TIMESTAMP,
PRIMARY KEY (TS,MANUFACTURE_PLANT,STAGE) NOT ENFORCED
) WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://xxxx',
'table-name' = 'CarsOfFactory',
'username' = 'xxxx',
'password' = 'xxxxx'
);
the sql client startup log as following:
flink-root-standalonesession-2-jqdev-l-01897.jqdev.shanghaigm.com.log
i also use arthas to check the class of JdbcRowDataInputFormat, it doesn't exsit.
[arthas@125257]$ getstatic org.apache.flink.connector.jdbc.table.JdbcRowDataInputFormat *
No class found for: org.apache.flink.connector.jdbc.table.JdbcRowDataInputFormat
Affect(row-cnt:0) cost in 29 ms.
the detail error message in Apache Flink Dashboard as following:
2020-08-07 10:54:15
org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot load user class: org.apache.flink.connector.jdbc.table.JdbcRowDataInputFormat
ClassLoader info: URL ClassLoader:
file: '/tmp/blobStore-20e8ab84-2215-4f5f-b5bb-e7672a43fb43/job_aad9c3d36483cff4d20cc2aba399b8c0/blob_p-0b002ebba0e49cbf5ac62789e6b4fb299b5ae235-8fe568bdcd98caf8fb09c58092083ef4' (valid JAR)
Class not resolvable through given classloader.
at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperatorFactory(StreamConfig.java:288)
at org.apache.flink.streaming.runtime.tasks.OperatorChain.<init>(OperatorChain.java:126)
at org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:453)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:522)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:721)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:546)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.connector.jdbc.table.JdbcRowDataInputFormat
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.apache.flink.util.FlinkUserCodeClassLoader.loadClassWithoutExceptionHandling(FlinkUserCodeClassLoader.java:61)
at org.apache.flink.util.ChildFirstClassLoader.loadClassWithoutExceptionHandling(ChildFirstClassLoader.java:65)
at org.apache.flink.util.FlinkUserCodeClassLoader.loadClass(FlinkUserCodeClassLoader.java:48)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.flink.util.InstantiationUtil$ClassLoaderObjectInputStream.resolveClass(InstantiationUtil.java:78)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1868)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:576)
at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:562)
at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:550)
at org.apache.flink.util.InstantiationUtil.readObjectFromConfig(InstantiationUtil.java:511)
at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperatorFactory(StreamConfig.java:276)
... 6 more