mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-16 03:12:43 +00:00
22 lines
1.0 KiB
MySQL
22 lines
1.0 KiB
MySQL
|
-- This is a regression test for EINTR handling in MultiplexedConnections::getReplicaForReading()
|
||
|
|
||
|
select * from remote('127.{2,4}', view(
|
||
|
-- This is the emulation of the slow query, the server will return a line each 0.1 second
|
||
|
select sleep(0.1) from numbers(20) settings max_block_size=1)
|
||
|
)
|
||
|
-- LIMIT is to activate query cancellation in case of enough rows already read.
|
||
|
limit 10
|
||
|
settings
|
||
|
-- This is to avoid draining in background and got the exception during query execution
|
||
|
drain_timeout=-1,
|
||
|
-- This is to activate as much signals as possible to trigger EINTR
|
||
|
query_profiler_real_time_period_ns=1,
|
||
|
-- This is to use MultiplexedConnections
|
||
|
use_hedged_requests=0,
|
||
|
-- This is to make the initiator waiting for cancel packet in MultiplexedConnections::getReplicaForReading()
|
||
|
--
|
||
|
-- NOTE: that even smaller sleep will be enough to trigger this problem
|
||
|
-- with 100% probability, however just to make it more reliable, increase
|
||
|
-- it to 2 seconds.
|
||
|
sleep_in_receive_cancel_ms=2000;
|