[ 
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)

Reply via email to