# pylint: disable=redefined-outer-name # pylint: disable=unused-argument import pytest from helpers.cluster import ClickHouseCluster cluster = ClickHouseCluster(__file__) node = cluster.add_instance("node", main_configs=["configs/config.xml"]) @pytest.fixture(scope="module") def started_cluster(): try: cluster.start() node.query( """ create table t (number UInt64) engine = Distributed(test_cluster_two_shards, system, numbers) """ ) yield cluster finally: cluster.shutdown() def test_filled_async_drain_connection_pool(started_cluster): def execute_queries(_): for _ in range(100): node.query( "select * from t where number = 0 limit 2", settings={ "sleep_in_receive_cancel_ms": int(10e6), "max_execution_time": 5, # decrease drain_timeout to make test more stable # (another way is to increase max_execution_time, but this will make test slower) "drain_timeout": 1, }, ) any(map(execute_queries, range(10)))