-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CommandRunner fails to serialize joins with select * and WHERE clause #5503
Comments
Already fixed. The Join now returns |
@big-andy-coates are you saying the query syntax is invalid? Why is the behavior not to select all value columns from p? |
Thanks for catching this Victoria. I have to admit I just pasted the SQL into the latest code and made sure the serialization error didn't occur. Given: create table users (
rowkey varchar primary key,
namesp varchar,
email varchar
) with (
kafka_topic='users',
value_format='json'
);
create stream pageviews (
userid varchar,
namesp varchar,
pageid varchar
) with (
kafka_topic='pageviews',
value_format='json',partitions=1
);
create stream joined as
select
p.*
from pageviews p
join users u on p.userid=u.rowkey
where p.namesp='n1'
emit changes;
I'll look into this more. |
This is a regression! Needs fixing in 6.0.0 and 0.10. The implications of this are not that it crashes the command runner thread as would have previously been the case. Instead, the implications are that queries that users could previously run will no fail. Existing running queries will not be affected. Affected queries will be any using combining:
e.g. SELECT A.*, B.Id
FROM A
JOIN B ON A.Id = B.userId
WHERE A.x < 10; Marking as blocker as this needs to be including in the next patch releases. |
confluentinc#5503 This fixes a regression introduced in 0.10. The implications of this are not that it crashes the command runner thread, as the original ticket states. Instead, the implications are that queries a users could previously run will now fail. Existing running queries will not be affected. Affected queries will be any using combining: * A join * with a projection using a scoped 'all columns', e.g. a A.* * with a where clause e.g. ``` SELECT A.*, B.Id FROM A JOIN B ON A.Id = B.userId WHERE A.x < 10; ```
#5503 This fixes a regression introduced in 0.10. The implications of this are not that it crashes the command runner thread, as the original ticket states. Instead, the implications are that queries a users could previously run will now fail. Existing running queries will not be affected. Affected queries will be any using combining: * A join * with a projection using a scoped 'all columns', e.g. a A.* * with a where clause e.g. ``` SELECT A.*, B.Id FROM A JOIN B ON A.Id = B.userId WHERE A.x < 10; ``` Co-authored-by: Andy Coates <[email protected]>
Describe the bug
Certain types of joins result in a command runner serialization exception, which causes #5502 to be hit, thus making the ksqlDB cluster unable to accept further requests.
To Reproduce
create stream joined as select p.* from pageviews p join users u on p.userid=u.rowkey where p.namesp='n1' emit changes;
Expected behavior
The query succeeds.
Actual behaviour
The CLI prints
but the server logs clearly show the request failed:
Additional context
This definitely happens on 0.9.0, probably also on master and earlier versions too but I'd need to confirm.
The text was updated successfully, but these errors were encountered: