[
https://issues.apache.org/jira/browse/FLINK-21240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17277106#comment-17277106
]
Jark Wu commented on FLINK-21240:
---------------------------------
I think this is a bug in {{AbstractJdbcRowConverter}} where we didn't consider
{{LocalDateTime}} instances for TIMESTAMP types.
> incompatible datetime with MySql JDBC Driver 8.0.23
> ---------------------------------------------------
>
> Key: FLINK-21240
> URL: https://issues.apache.org/jira/browse/FLINK-21240
> Project: Flink
> Issue Type: Bug
> Components: Connectors / JDBC, Table SQL / Runtime
> Affects Versions: 1.12.1
> Reporter: macdoor615
> Priority: Major
>
> 1. upgrade mysql JDBC Driver from mysql-connector-java-8.0.22.jar to
> mysql-connector-java-8.0.23.jar
> 2. create table on mysql
> CREATE TABLE `p_port_packet_loss_5m` (
> `id` binary(16) NOT NULL,
> `coltime` datetime NOT NULL,
> ...
> 3. create table in Flink SQL client
> create table if not exists p_port_packet_loss_5m
> (
> id bytes,
> coltime timestamp,
> ...)
> WITH (
> 'connector' = 'jdbc',
> 'url' = 'jdbc:mysql://ip:port/mydatabase?rewritebatchedstatements=true',
> ...)
> 4. query this table in flink sql client
> select * from p_port_packet_loss_5m;
> 5. prompt error
> {quote}java.lang.ClassCastException: java.time.LocalDateTime cannot be cast
> to java.sql.Timestamp
> at
> org.apache.flink.connector.jdbc.internal.converter.AbstractJdbcRowConverter.lambda$createInternalConverter$ff586f13$9(AbstractJdbcRowConverter.java:170)
> at
> org.apache.flink.connector.jdbc.internal.converter.AbstractJdbcRowConverter.lambda$wrapIntoNullableInternalConverter$83a7e581$1(AbstractJdbcRowConverter.java:127)
> at
> org.apache.flink.connector.jdbc.internal.converter.AbstractJdbcRowConverter.toInternal(AbstractJdbcRowConverter.java:78)
> at
> org.apache.flink.connector.jdbc.table.JdbcRowDataInputFormat.nextRecord(JdbcRowDataInputFormat.java:265)
> at
> org.apache.flink.connector.jdbc.table.JdbcRowDataInputFormat.nextRecord(JdbcRowDataInputFormat.java:55)
> at
> org.apache.flink.streaming.api.functions.source.InputFormatSourceFunction.run(InputFormatSourceFunction.java:90)
> at
> org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:110)
> at
> org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:66)
> at
> org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:241)
> {quote}
>
> 6. downgrade to mysql-connector-java-8.0.22.jar , same procedure, no error
--
This message was sent by Atlassian Jira
(v8.3.4#803005)