mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 08:32:02 +00:00
43 lines
1.2 KiB
Python
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/"
|
|
)
|