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)

Reply via email to