2020-01-19 19:16:33 +00:00
|
|
|
# pylint: disable=unused-argument
|
|
|
|
# pylint: disable=redefined-outer-name
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
from helpers.cluster import ClickHouseCluster
|
|
|
|
|
|
|
|
cluster = ClickHouseCluster(__file__)
|
|
|
|
|
|
|
|
node = cluster.add_instance('node',
|
2020-09-16 04:26:10 +00:00
|
|
|
main_configs=["configs/config.d/storage_configuration.xml"],
|
|
|
|
tmpfs=['/disk1:size=100M', '/disk2:size=100M'])
|
|
|
|
|
2020-01-19 19:16:33 +00:00
|
|
|
|
|
|
|
@pytest.fixture(scope='module')
|
|
|
|
def start_cluster():
|
|
|
|
try:
|
|
|
|
cluster.start()
|
|
|
|
yield cluster
|
|
|
|
finally:
|
|
|
|
cluster.shutdown()
|
|
|
|
|
2020-09-16 04:26:10 +00:00
|
|
|
|
2020-01-19 19:16:33 +00:00
|
|
|
def test_different_versions(start_cluster):
|
|
|
|
query = 'SELECT count(ignore(*)) FROM (SELECT * FROM system.numbers LIMIT 1e7) GROUP BY number'
|
|
|
|
settings = {
|
2020-09-16 04:26:10 +00:00
|
|
|
'max_bytes_before_external_group_by': 1 << 20,
|
|
|
|
'max_bytes_before_external_sort': 1 << 20,
|
2020-01-19 19:16:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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/')
|