This commit is contained in:
Nikita Taranov 2024-10-23 15:39:37 +01:00
parent 7e053a7e87
commit 63e9204c52
2 changed files with 10 additions and 1 deletions

View File

@ -91,7 +91,7 @@ def test_clickhouse_client_max_peak_memory_usage_distributed(started_cluster):
with client(name="client1>", log=client_output, command=command_text) as client1:
client1.expect(prompt)
client1.send(
"SELECT COUNT(*) FROM distributed_fixed_numbers JOIN fixed_numbers_2 ON distributed_fixed_numbers.number=fixed_numbers_2.number SETTINGS query_plan_join_swap_table = 'false'",
"SELECT COUNT(*) FROM distributed_fixed_numbers JOIN fixed_numbers_2 ON distributed_fixed_numbers.number=fixed_numbers_2.number SETTINGS join_algorithm='hash', query_plan_join_swap_table = 'false'",
)
client1.expect("Peak memory usage", timeout=60)
client1.expect(prompt)

View File

@ -1,3 +1,12 @@
-- The following queries use very weird block structure:
-- __table3.b UInt8 UInt8(size = 1), __table3.b UInt8 Const(size = 1, UInt8(size = 1)), __table3.c UInt8 Const(size = 1, UInt8(size = 1))
-- That leads to a pretty legit error in ConcurrentHashJoin within a call to Block::cloneEmpty():
-- Code: 352. DB::Exception: Block structure mismatch in (columns with identical name must have identical structure) stream: different columns:
-- __table3.b UInt8 UInt8(size = 0)
-- __table3.b UInt8 Const(size = 0, UInt8(size = 1))
-- So let's disable parallel_hash.
SET join_algorithm = 'hash,grace_hash,partial_merge,full_sorting_merge';
select b from (select 1 as a, 42 as c) js1 any left join (select 2 as b, 2 as b, 41 as c) js2 using c;
select b from (select 1 as a, 42 as c) js1 any left join (select 2 as b, 2 as b, 42 as c) js2 using c;