sandy du created FLINK-24412: -------------------------------- Summary: retract stream join on topN error Key: FLINK-24412 URL: https://issues.apache.org/jira/browse/FLINK-24412 Project: Flink Issue Type: Bug Components: Table SQL / Runtime Affects Versions: 1.12.3 Reporter: sandy du
I can reappear this error in follow sql: create table user_info( name string, age int, primary key(name) not enforced ) whith( 'connector'='jdbc', 'url'='jdbc:mysql...', ... 'lookup.cache.max-rows'='0', 'lookup.cache.ttl'='1 s' ); create table user_action( name string, app string, dt string, proctime as proctime() )whith( 'connector'='kafka', ... ); create view v_user_action as select * from( select name,app,proctime,row_number() over(partition by name,app order by dt desc) as rn from user_action )t where rn=1; create view user_out as select a.name,a.app,b.age from v_user_action a left join user_info for system_time as of a.proctime as b on a.name=b.name; select * from ( select name,app,age ,row_number() over(partition by name,app order by age desc) as rn from user_out ) t where rn=1; first : {color:#de350b} user_action got data \{"name":"11","app":"app","dt":"2021-09-10"}{color} {color:#de350b}user_info got data \{"name":"11","age":11}{color} at the moment sql can successful run. {color:#de350b}then user_action got data \{"name":"11","app":"app","dt":"2021-09-20"}{color} {color:#de350b}user_info got data \{"name":"11","age":11} \{"name":"11","age":22} {color} now, TopN query on last sql, the TopN operator will thrown exception: {{Caused by: java.lang.RuntimeException: Can not retract a non-existent record. This should never happen.}} -- This message was sent by Atlassian Jira (v8.3.4#803005)