mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 00:22:29 +00:00
dbms: fixed error with passing settings to remote servers [#CONV-2944].
This commit is contained in:
parent
89332f5e45
commit
23ccc5c0a2
@ -245,7 +245,12 @@ QueryProcessingStage::Enum InterpreterSelectQuery::executeFetchColumns(BlockInpu
|
|||||||
* соединяться и опрашивать только по 8 серверов одновременно.
|
* соединяться и опрашивать только по 8 серверов одновременно.
|
||||||
* Чтобы одновременно опрашивалось больше удалённых серверов,
|
* Чтобы одновременно опрашивалось больше удалённых серверов,
|
||||||
* вместо max_threads используется max_distributed_connections.
|
* вместо max_threads используется max_distributed_connections.
|
||||||
|
*
|
||||||
|
* Сохраним изначальное значение max_threads в settings_for_storage
|
||||||
|
* - эти настройки будут переданы на удалённые серверы при распределённой обработке запроса,
|
||||||
|
* и там должно быть оригинальное значение max_threads, а не увеличенное.
|
||||||
*/
|
*/
|
||||||
|
Settings settings_for_storage = settings;
|
||||||
if (table && table->isRemote())
|
if (table && table->isRemote())
|
||||||
settings.max_threads = settings.max_distributed_connections;
|
settings.max_threads = settings.max_distributed_connections;
|
||||||
|
|
||||||
@ -283,7 +288,7 @@ QueryProcessingStage::Enum InterpreterSelectQuery::executeFetchColumns(BlockInpu
|
|||||||
|
|
||||||
/// Инициализируем изначальные потоки данных, на которые накладываются преобразования запроса. Таблица или подзапрос?
|
/// Инициализируем изначальные потоки данных, на которые накладываются преобразования запроса. Таблица или подзапрос?
|
||||||
if (!query.table || !dynamic_cast<ASTSelectQuery *>(&*query.table))
|
if (!query.table || !dynamic_cast<ASTSelectQuery *>(&*query.table))
|
||||||
streams = table->read(required_columns, query_ptr, settings, from_stage, settings.max_block_size, settings.max_threads);
|
streams = table->read(required_columns, query_ptr, settings_for_storage, from_stage, settings.max_block_size, settings.max_threads);
|
||||||
else
|
else
|
||||||
streams.push_back(maybeAsynchronous(interpreter_subquery->execute(), settings.asynchronous));
|
streams.push_back(maybeAsynchronous(interpreter_subquery->execute(), settings.asynchronous));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user