[ https://issues.apache.org/jira/browse/FLINK-27639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17544166#comment-17544166 ]
lincoln lee commented on FLINK-27639: ------------------------------------- Hi [~lvycc], thanks for reporting this! For now, a fast solution is remove the temporal function 'now()' before join operation. It's a long-standing issue in streaming, and we're planning to solve it in FLINK-27849. > Flink JOIN uses the now() function when inserting data, resulting in data > that cannot be deleted > ------------------------------------------------------------------------------------------------ > > Key: FLINK-27639 > URL: https://issues.apache.org/jira/browse/FLINK-27639 > Project: Flink > Issue Type: Bug > Components: Table SQL / API > Affects Versions: 1.14.4 > Reporter: lvycc > Priority: Major > > I use the now() function as the field value when I insert data using SQL ,but > I can't delete the inserted data,here is my sql: > {code:java} > //代码占位符 > CREATE TABLE t_order ( > order_id INT, > order_name STRING, > product_id INT, > user_id INT, > PRIMARY KEY(order_id) NOT ENFORCED > ) WITH ( > 'connector' = 'mysql-cdc', > 'hostname' = 'localhost', > 'port' = '3306', > 'username' = 'root', > 'password' = 'ycc123', > 'database-name' = 'wby_test', > 'table-name' = 't_order' > ); > CREATE TABLE t_logistics ( > logistics_id INT, > logistics_target STRING, > logistics_source STRING, > logistics_time TIMESTAMP(0), > order_id INT, > PRIMARY KEY(logistics_id) NOT ENFORCED > ) WITH ( > 'connector' = 'mysql-cdc', > 'hostname' = 'localhost', > 'port' = '3306', > 'username' = 'root', > 'password' = 'ycc123', > 'database-name' = 'wby_test', > 'table-name' = 't_logistics' > ); > CREATE TABLE t_join_sink ( > order_id INT, > order_name STRING, > logistics_id INT, > logistics_target STRING, > logistics_source STRING, > logistics_time timestamp, > PRIMARY KEY(order_id) NOT ENFORCED > ) WITH ( > 'connector' = 'jdbc', > 'url' = > 'jdbc:mysql://localhost:3306/wby_test?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai', > 'table-name' = 't_join_sink', > 'username' = 'root', > 'password' = 'ycc123' > ); > INSERT INTO t_join_sink > SELECT ord.order_id, > ord.order_name, > logistics.logistics_id, > logistics.logistics_target, > logistics.logistics_source, > now() > FROM t_order AS ord > LEFT JOIN t_logistics AS logistics ON ord.order_id=logistics.order_id; {code} > The debug finds that SinkUpsertMaterializer causes the problem ,the result of > the now() function changes when I delete the data,therefore, the delete > operation is ignored > But what can I do to avoid this problem? -- This message was sent by Atlassian Jira (v8.20.7#820007)