Skip to content

Commit 7548b1e

Browse files
authored
Merge pull request ClickHouse#80028 from Algunenano/faster_keeper_kill
Try to make test_check_replicated_does_not_block_shutdown less flaky
2 parents 609a49c + b800364 commit 7548b1e

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

tests/integration/helpers/cluster.py

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import base64
2+
import concurrent
23
import errno
34
import http.client
45
import logging
@@ -3407,14 +3408,37 @@ def stop_zookeeper_nodes(self, zk_nodes):
34073408

34083409
# Faster than waiting for clean stop
34093410
def kill_zookeeper_nodes(self, zk_nodes):
3410-
for n in zk_nodes:
3411-
logging.info("Killing zookeeper node: %s", n)
3412-
subprocess_check_call(self.base_zookeeper_cmd + ["kill", n])
3411+
3412+
def kill_keeper(node):
3413+
logging.info("Killing zookeeper node: %s", node)
3414+
subprocess_check_call(self.base_zookeeper_cmd + ["kill", node])
3415+
logging.info("Killed zookeeper node: %s", node)
3416+
3417+
with concurrent.futures.ThreadPoolExecutor(
3418+
max_workers=len(zk_nodes)
3419+
) as executor:
3420+
futures = []
3421+
for n in zk_nodes:
3422+
futures += [executor.submit(kill_keeper, n)]
3423+
3424+
for future in concurrent.futures.as_completed(futures):
3425+
future.result()
34133426

34143427
def start_zookeeper_nodes(self, zk_nodes):
3415-
for n in zk_nodes:
3416-
logging.info("Starting zookeeper node: %s", n)
3417-
subprocess_check_call(self.base_zookeeper_cmd + ["start", n])
3428+
def start_keeper(node):
3429+
logging.info("Starting zookeeper node: %s", node)
3430+
subprocess_check_call(self.base_zookeeper_cmd + ["start", node])
3431+
logging.info("Started zookeeper node: %s", node)
3432+
3433+
with concurrent.futures.ThreadPoolExecutor(
3434+
max_workers=len(zk_nodes)
3435+
) as executor:
3436+
futures = []
3437+
for n in zk_nodes:
3438+
futures += [executor.submit(start_keeper, n)]
3439+
3440+
for future in concurrent.futures.as_completed(futures):
3441+
future.result()
34183442

34193443
def query_all_nodes(self, sql, *args, **kwargs):
34203444
return {

0 commit comments

Comments
 (0)