ClickHouse/tests/integration/test_tmp_policy/test.py

43 lines
1.2 KiB
Python

# pylint: disable=unused-argument
# pylint: disable=redefined-outer-name
import pytest
from helpers.cluster import ClickHouseCluster
cluster = ClickHouseCluster(__file__)
node = cluster.add_instance(
"node",
main_configs=["configs/config.d/storage_configuration.xml"],
tmpfs=["/disk1:size=100M", "/disk2:size=100M"],
)
@pytest.fixture(scope="module")
def start_cluster():
try:
cluster.start()
yield cluster
finally:
cluster.shutdown()
def test_disk_selection(start_cluster):
query = "SELECT count(ignore(*)) FROM (SELECT * FROM system.numbers LIMIT 1e7) GROUP BY number"
settings = {
"max_bytes_before_external_group_by": 1 << 20,
"max_bytes_before_external_sort": 1 << 20,
}
assert node.contains_in_log("Setting up /disk1/ to store temporary data in it")
assert node.contains_in_log("Setting up /disk2/ to store temporary data in it")
node.query(query, settings=settings)
assert node.contains_in_log(
"Writing part of aggregation data into temporary file.*/disk1/"
)
assert node.contains_in_log(
"Writing part of aggregation data into temporary file.*/disk2/"
)