diff --git a/src/Core/Settings.h b/src/Core/Settings.h
index cf7bda7d1a1..5b2f603e915 100644
--- a/src/Core/Settings.h
+++ b/src/Core/Settings.h
@@ -220,8 +220,8 @@ class IColumn;
M(Milliseconds, stream_poll_timeout_ms, 500, "Timeout for polling data from/to streaming storages.", 0) \
\
/** Settings for testing hedged requests */ \
- M(Int64, sleep_in_send_tables_status, 0, "Time to sleep in sending tables status response in TCPHandler", 0) \
- M(Int64, sleep_in_send_data, 0, "Time to sleep in sending data in TCPHandler", 0) \
+ M(Milliseconds, sleep_in_send_tables_status_ms, 0, "Time to sleep in sending tables status response in TCPHandler", 0) \
+ M(Milliseconds, sleep_in_send_data_ms, 0, "Time to sleep in sending data in TCPHandler", 0) \
\
M(Bool, insert_allow_materialized_columns, 0, "If setting is enabled, Allow materialized columns in INSERT.", 0) \
M(Seconds, http_connection_timeout, DEFAULT_HTTP_READ_BUFFER_CONNECTION_TIMEOUT, "HTTP connection timeout.", 0) \
diff --git a/src/Server/TCPHandler.cpp b/src/Server/TCPHandler.cpp
index 5765c3ec43e..e00a8f01c3e 100644
--- a/src/Server/TCPHandler.cpp
+++ b/src/Server/TCPHandler.cpp
@@ -722,11 +722,10 @@ void TCPHandler::processTablesStatusRequest()
/// For testing hedged requests
const Settings & settings = query_context->getSettingsRef();
- if (settings.sleep_in_send_tables_status)
+ if (settings.sleep_in_send_tables_status_ms.totalMilliseconds())
{
out->next();
- std::chrono::seconds sec(settings.sleep_in_send_tables_status);
- std::this_thread::sleep_for(sec);
+ std::this_thread::sleep_for(settings.sleep_in_send_tables_status_ms);
}
response.write(*out, client_tcp_protocol_version);
@@ -1415,11 +1414,10 @@ void TCPHandler::sendData(const Block & block)
/// For testing hedged requests
const Settings & settings = query_context->getSettingsRef();
- if (block.rows() > 0 && settings.sleep_in_send_data)
+ if (block.rows() > 0 && settings.sleep_in_send_data_ms.totalMilliseconds())
{
out->next();
- std::chrono::seconds sec(settings.sleep_in_send_data);
- std::this_thread::sleep_for(sec);
+ std::this_thread::sleep_for(settings.sleep_in_send_data_ms);
}
state.block_out->write(block);
diff --git a/tests/integration/test_hedged_requests/test.py b/tests/integration/test_hedged_requests/test.py
index fbb8e20c450..a1693206ecc 100644
--- a/tests/integration/test_hedged_requests/test.py
+++ b/tests/integration/test_hedged_requests/test.py
@@ -15,28 +15,30 @@ NODES = {'node_' + str(i): None for i in (1, 2, 3)}
NODES['node'] = None
-sleep_time = 30
+# Sleep time in milliseconds.
+sleep_time = 30000
@pytest.fixture(scope="module")
def started_cluster():
NODES['node'] = cluster.add_instance(
- 'node', with_zookeeper=True, stay_alive=True, main_configs=['configs/remote_servers.xml'], user_configs=['configs/users.xml'])
+ 'node', stay_alive=True, main_configs=['configs/remote_servers.xml'], user_configs=['configs/users.xml'])
for name in NODES:
if name != 'node':
- NODES[name] = cluster.add_instance(name, with_zookeeper=True, user_configs=['configs/users1.xml'])
+ NODES[name] = cluster.add_instance(name, user_configs=['configs/users1.xml'])
try:
cluster.start()
for node_id, node in list(NODES.items()):
- node.query('''CREATE TABLE replicated (id UInt32, date Date) ENGINE =
- ReplicatedMergeTree('/clickhouse/tables/replicated', '{}') ORDER BY id PARTITION BY toYYYYMM(date)'''.format(node_id))
+ node.query('''CREATE TABLE test_hedged (id UInt32, date Date) ENGINE =
+ MergeTree() ORDER BY id PARTITION BY toYYYYMM(date)''')
+
+ node.query("INSERT INTO test_hedged select number, toDate(number) from numbers(100);")
+
NODES['node'].query('''CREATE TABLE distributed (id UInt32, date Date) ENGINE =
- Distributed('test_cluster', 'default', 'replicated')''')
-
- NODES['node'].query("INSERT INTO distributed select number, toDate(number) from numbers(100);")
+ Distributed('test_cluster', 'default', 'test_hedged')''')
yield cluster
@@ -47,8 +49,8 @@ def started_cluster():
config = '''
- {sleep_in_send_tables_status}
- {sleep_in_send_data}
+ {sleep_in_send_tables_status_ms}
+ {sleep_in_send_data_ms}
'''
@@ -70,12 +72,12 @@ def check_query(expected_replica, receive_timeout=300):
assert query_time < 10
-def check_settings(node_name, sleep_in_send_tables_status, sleep_in_send_data):
+def check_settings(node_name, sleep_in_send_tables_status_ms, sleep_in_send_data_ms):
attempts = 0
while attempts < 1000:
- setting1 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_tables_status'")
- setting2 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_data'")
- if int(setting1) == sleep_in_send_tables_status and int(setting2) == sleep_in_send_data:
+ setting1 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_tables_status_ms'")
+ setting2 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_data_ms'")
+ if int(setting1) == sleep_in_send_tables_status_ms and int(setting2) == sleep_in_send_data_ms:
return
time.sleep(0.1)
attempts += 1
@@ -88,7 +90,29 @@ def check_changing_replica_events(expected_count):
assert int(result) == expected_count
+def update_configs(node_1_sleep_in_send_tables_status=0, node_1_sleep_in_send_data=0,
+ node_2_sleep_in_send_tables_status=0, node_2_sleep_in_send_data=0,
+ node_3_sleep_in_send_tables_status=0, node_3_sleep_in_send_data=0):
+ NODES['node_1'].replace_config(
+ '/etc/clickhouse-server/users.d/users1.xml',
+ config.format(sleep_in_send_tables_status_ms=node_1_sleep_in_send_tables_status, sleep_in_send_data_ms=node_1_sleep_in_send_data))
+
+ NODES['node_2'].replace_config(
+ '/etc/clickhouse-server/users.d/users1.xml',
+ config.format(sleep_in_send_tables_status_ms=node_2_sleep_in_send_tables_status, sleep_in_send_data_ms=node_2_sleep_in_send_data))
+
+ NODES['node_3'].replace_config(
+ '/etc/clickhouse-server/users.d/users1.xml',
+ config.format(sleep_in_send_tables_status_ms=node_3_sleep_in_send_tables_status, sleep_in_send_data_ms=node_3_sleep_in_send_data))
+
+ check_settings('node_1', node_1_sleep_in_send_tables_status, node_1_sleep_in_send_data)
+ check_settings('node_2', node_2_sleep_in_send_tables_status, node_2_sleep_in_send_data)
+ check_settings('node_3', node_3_sleep_in_send_tables_status, node_3_sleep_in_send_data)
+
+
def test_stuck_replica(started_cluster):
+ update_configs()
+
cluster.pause_container("node_1")
check_query(expected_replica="node_2")
@@ -111,6 +135,8 @@ def test_stuck_replica(started_cluster):
def test_long_query(started_cluster):
+ update_configs()
+
# Restart to reset pool states.
NODES['node'].restart_clickhouse()
@@ -121,169 +147,54 @@ def test_long_query(started_cluster):
def test_send_table_status_sleep(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=sleep_time, sleep_in_send_data=0))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- check_settings('node_1', sleep_time, 0)
- check_settings('node_2', 0, 0)
- check_settings('node_3', 0, 0)
-
+ update_configs(node_1_sleep_in_send_tables_status=sleep_time)
check_query(expected_replica="node_2")
check_changing_replica_events(1)
def test_send_table_status_sleep2(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=sleep_time, sleep_in_send_data=0))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=sleep_time, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- check_settings('node_1', sleep_time, 0)
- check_settings('node_2', sleep_time, 0)
- check_settings('node_3', 0, 0)
-
+ update_configs(node_1_sleep_in_send_tables_status=sleep_time, node_2_sleep_in_send_tables_status=sleep_time)
check_query(expected_replica="node_3")
check_changing_replica_events(2)
def test_send_data(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- check_settings('node_1', 0, sleep_time)
- check_settings('node_2', 0, 0)
- check_settings('node_3', 0, 0)
-
+ update_configs(node_1_sleep_in_send_data=sleep_time)
check_query(expected_replica="node_2")
check_changing_replica_events(1)
def test_send_data2(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- check_settings('node_1', 0, sleep_time)
- check_settings('node_2', 0, sleep_time)
- check_settings('node_3', 0, 0)
-
+ update_configs(node_1_sleep_in_send_data=sleep_time, node_2_sleep_in_send_data=sleep_time)
check_query(expected_replica="node_3")
check_changing_replica_events(2)
def test_combination1(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=sleep_time, sleep_in_send_data=0))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- check_settings('node_1', sleep_time, 0)
- check_settings('node_2', 0, sleep_time)
- check_settings('node_3', 0, 0)
-
+ update_configs(node_1_sleep_in_send_tables_status=sleep_time, node_2_sleep_in_send_data=sleep_time)
check_query(expected_replica="node_3")
check_changing_replica_events(2)
def test_combination2(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=sleep_time, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- check_settings('node_1', 0, sleep_time)
- check_settings('node_2', sleep_time, 0)
- check_settings('node_3', 0, 0)
-
+ update_configs(node_1_sleep_in_send_data=sleep_time, node_2_sleep_in_send_tables_status=sleep_time)
check_query(expected_replica="node_3")
check_changing_replica_events(2)
def test_combination3(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=1, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- check_settings('node_1', 0, sleep_time)
- check_settings('node_2', 1, 0)
- check_settings('node_3', 0, sleep_time)
-
+ update_configs(node_1_sleep_in_send_data=sleep_time,
+ node_2_sleep_in_send_tables_status=1000,
+ node_3_sleep_in_send_data=sleep_time)
check_query(expected_replica="node_2")
check_changing_replica_events(3)
def test_combination4(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=1, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=1, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=2, sleep_in_send_data=0))
-
- check_settings('node_1', 1, sleep_time)
- check_settings('node_2', 1, 0)
- check_settings('node_3', 2, 0)
-
+ update_configs(node_1_sleep_in_send_tables_status=1000,
+ node_1_sleep_in_send_data=sleep_time,
+ node_2_sleep_in_send_tables_status=1000,
+ node_3_sleep_in_send_tables_status=1000)
check_query(expected_replica="node_2")
check_changing_replica_events(4)
@@ -291,22 +202,9 @@ def test_combination4(started_cluster):
def test_receive_timeout1(started_cluster):
# Check the situation when first two replicas get receive timeout
# in establishing connection, but the third replica is ok.
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=3, sleep_in_send_data=0))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=3, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=1))
-
- check_settings('node_1', 3, 0)
- check_settings('node_2', 3, 0)
- check_settings('node_3', 0, 1)
-
+ update_configs(node_1_sleep_in_send_tables_status=3000,
+ node_2_sleep_in_send_tables_status=3000,
+ node_3_sleep_in_send_data=1000)
check_query(expected_replica="node_3", receive_timeout=2)
check_changing_replica_events(2)
@@ -315,22 +213,9 @@ def test_receive_timeout2(started_cluster):
# Check the situation when first replica get receive timeout
# in packet receiving but there are replicas in process of
# connection establishing.
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=4))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=2, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=2, sleep_in_send_data=0))
-
- check_settings('node_1', 0, 4)
- check_settings('node_2', 2, 0)
- check_settings('node_3', 2, 0)
-
+ update_configs(node_1_sleep_in_send_data=4000,
+ node_2_sleep_in_send_tables_status=2000,
+ node_3_sleep_in_send_tables_status=2000)
check_query(expected_replica="node_2", receive_timeout=3)
check_changing_replica_events(3)
diff --git a/tests/integration/test_hedged_requests_parallel/test.py b/tests/integration/test_hedged_requests_parallel/test.py
index 543d93f9989..33f70da00ca 100644
--- a/tests/integration/test_hedged_requests_parallel/test.py
+++ b/tests/integration/test_hedged_requests_parallel/test.py
@@ -14,29 +14,30 @@ cluster = ClickHouseCluster(__file__)
NODES = {'node_' + str(i): None for i in (1, 2, 3, 4)}
NODES['node'] = None
-sleep_time = 30
+# Cleep time in milliseconds.
+sleep_time = 30000
@pytest.fixture(scope="module")
def started_cluster():
cluster = ClickHouseCluster(__file__)
NODES['node'] = cluster.add_instance(
- 'node', with_zookeeper=True, stay_alive=True, main_configs=['configs/remote_servers.xml'], user_configs=['configs/users.xml'])
+ 'node', stay_alive=True, main_configs=['configs/remote_servers.xml'], user_configs=['configs/users.xml'])
for name in NODES:
if name != 'node':
- NODES[name] = cluster.add_instance(name, with_zookeeper=True, user_configs=['configs/users1.xml'])
+ NODES[name] = cluster.add_instance(name, user_configs=['configs/users1.xml'])
try:
cluster.start()
for node_id, node in list(NODES.items()):
- node.query('''CREATE TABLE replicated (id UInt32, date Date) ENGINE =
- ReplicatedMergeTree('/clickhouse/tables/replicated', '{}') ORDER BY id PARTITION BY toYYYYMM(date)'''.format(node_id))
+ node.query('''CREATE TABLE test_hedged (id UInt32, date Date) ENGINE =
+ MergeTree() ORDER BY id PARTITION BY toYYYYMM(date)''')
+
+ node.query("INSERT INTO test_hedged SELECT number, toDateTime(number) FROM numbers(100)")
NODES['node'].query('''CREATE TABLE distributed (id UInt32, date Date) ENGINE =
- Distributed('test_cluster', 'default', 'replicated')''')
-
- NODES['node'].query("INSERT INTO distributed SELECT number, toDateTime(number) FROM numbers(100)")
+ Distributed('test_cluster', 'default', 'test_hedged')''')
yield cluster
@@ -47,8 +48,8 @@ def started_cluster():
config = '''
- {sleep_in_send_tables_status}
- {sleep_in_send_data}
+ {sleep_in_send_tables_status_ms}
+ {sleep_in_send_data_ms}
'''
@@ -72,12 +73,12 @@ def check_query(query=QUERY_1):
assert query_time < 5
-def check_settings(node_name, sleep_in_send_tables_status, sleep_in_send_data):
+def check_settings(node_name, sleep_in_send_tables_status_ms, sleep_in_send_data_ms):
attempts = 0
while attempts < 1000:
- setting1 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_tables_status'")
- setting2 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_data'")
- if int(setting1) == sleep_in_send_tables_status and int(setting2) == sleep_in_send_data:
+ setting1 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_tables_status_ms'")
+ setting2 = NODES[node_name].http_query("SELECT value FROM system.settings WHERE name='sleep_in_send_data_ms'")
+ if int(setting1) == sleep_in_send_tables_status_ms and int(setting2) == sleep_in_send_data_ms:
return
time.sleep(0.1)
attempts += 1
@@ -90,107 +91,64 @@ def check_changing_replica_events(expected_count):
assert int(result) == expected_count
-def test_send_table_status_sleep(started_cluster):
+def update_configs(node_1_sleep_in_send_tables_status=0, node_1_sleep_in_send_data=0,
+ node_2_sleep_in_send_tables_status=0, node_2_sleep_in_send_data=0,
+ node_3_sleep_in_send_tables_status=0, node_3_sleep_in_send_data=0,
+ node_4_sleep_in_send_tables_status=0, node_4_sleep_in_send_data=0):
NODES['node_1'].replace_config(
'/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=sleep_time, sleep_in_send_data=0))
+ config.format(sleep_in_send_tables_status_ms=node_1_sleep_in_send_tables_status, sleep_in_send_data_ms=node_1_sleep_in_send_data))
NODES['node_2'].replace_config(
'/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=sleep_time, sleep_in_send_data=0))
-
- check_settings('node_1', sleep_time, 0)
- check_settings('node_2', sleep_time, 0)
+ config.format(sleep_in_send_tables_status_ms=node_2_sleep_in_send_tables_status, sleep_in_send_data_ms=node_2_sleep_in_send_data))
+ NODES['node_3'].replace_config(
+ '/etc/clickhouse-server/users.d/users1.xml',
+ config.format(sleep_in_send_tables_status_ms=node_3_sleep_in_send_tables_status, sleep_in_send_data_ms=node_3_sleep_in_send_data))
+
+ NODES['node_4'].replace_config(
+ '/etc/clickhouse-server/users.d/users1.xml',
+ config.format(sleep_in_send_tables_status_ms=node_4_sleep_in_send_tables_status, sleep_in_send_data_ms=node_4_sleep_in_send_data))
+
+ check_settings('node_1', node_1_sleep_in_send_tables_status, node_1_sleep_in_send_data)
+ check_settings('node_2', node_2_sleep_in_send_tables_status, node_2_sleep_in_send_data)
+ check_settings('node_3', node_3_sleep_in_send_tables_status, node_3_sleep_in_send_data)
+ check_settings('node_4', node_4_sleep_in_send_tables_status, node_4_sleep_in_send_data)
+
+
+def test_send_table_status_sleep(started_cluster):
+ update_configs(node_1_sleep_in_send_tables_status=sleep_time, node_2_sleep_in_send_tables_status=sleep_time)
check_query()
check_changing_replica_events(2)
def test_send_data(started_cluster):
-
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- check_settings('node_1', 0, sleep_time)
- check_settings('node_2', 0, sleep_time)
-
+ update_configs(node_1_sleep_in_send_data=sleep_time, node_2_sleep_in_send_data=sleep_time)
check_query()
check_changing_replica_events(2)
def test_combination1(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=1, sleep_in_send_data=0))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=1, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- check_settings('node_1', 1, 0)
- check_settings('node_2', 1, 0)
- check_settings('node_3', 0, sleep_time)
-
+ update_configs(node_1_sleep_in_send_tables_status=1000,
+ node_2_sleep_in_send_tables_status=1000,
+ node_3_sleep_in_send_data=sleep_time)
check_query()
check_changing_replica_events(3)
def test_combination2(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=1, sleep_in_send_data=0))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_4'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=1, sleep_in_send_data=0))
-
-
- check_settings('node_1', 0, sleep_time)
- check_settings('node_2', 1, 0)
- check_settings('node_3', 0, sleep_time)
- check_settings('node_4', 1, 0)
-
+ update_configs(node_1_sleep_in_send_data=sleep_time,
+ node_2_sleep_in_send_tables_status=1000,
+ node_3_sleep_in_send_data=sleep_time,
+ node_4_sleep_in_send_tables_status=1000)
check_query()
check_changing_replica_events(4)
def test_query_with_no_data_to_sample(started_cluster):
- NODES['node_1'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_2'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=sleep_time))
-
- NODES['node_3'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
-
- NODES['node_4'].replace_config(
- '/etc/clickhouse-server/users.d/users1.xml',
- config.format(sleep_in_send_tables_status=0, sleep_in_send_data=0))
- check_settings('node_1', 0, sleep_time)
- check_settings('node_2', 0, sleep_time)
- check_settings('node_3', 0, 0)
- check_settings('node_4', 0, 0)
+ update_configs(node_1_sleep_in_send_data=sleep_time,
+ node_2_sleep_in_send_data=sleep_time)
# When there is no way to sample data, the whole query will be performed by
# the first replica and the second replica will just send EndOfStream,