Fix bad tests share_big_sets, CC @davenger#66908
Conversation
|
This is an automated comment for commit 54a5039 with description of existing statuses. It's updated for the latest CI running ✅ Click here to open a full report in a separate page Successful checks
|
| SELECT count(), _part from 02581_trips WHERE description = '' GROUP BY _part ORDER BY _part; | ||
|
|
||
| SYSTEM FLUSH LOGS; | ||
| SELECT DISTINCT peak_memory_usage < 2000000000 ? 'Ok' : toString(tuple(*)) FROM system.part_log WHERE database = currentDatabase() AND event_date >= yesterday() AND table = '02581_trips' AND event_type = 'MutatePart'; |
There was a problem hiding this comment.
The test is aimed to check that a big set that is built for where in (...) condition is not created for each part, but is shared between mutations tasks for different parts that run in parallel. But AFAIU peak_memory_usage column only includes memory consumption by a single thread that is mutating one part.
So it seems that the check query should be different. I will think a bit and try to come up with a proper check
There was a problem hiding this comment.
I've modified the check to look at read_rows from system.part_log and compare it to the size of big set for each mutated part. It should be >= set size for the part that builds the set and <= set size for those parts that used shared set instead of building it.
There was a problem hiding this comment.
The approach with read_rows didn't work out with old analyzer.
I changed the check to count log messages like Created Set with 10000000 entries from 10000000 rows in 0.388989187 sec. and Got set from cache in 0.388930505 sec.
Changelog category (leave one):
This closes #66907
CI Settings (Only check the boxes if you know what you are doing):