diff options
author | Roman Udovichenko <rvu@ydb.tech> | 2023-12-22 12:50:27 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-22 12:50:27 +0300 |
commit | 8fbea85abdb79447bfe9abfec7463ce7c04365e8 (patch) | |
tree | ede804161d3da3bacb8db5a357b712704fcc35eb | |
parent | 55c5812002354a2f466b720a77a0c1103d7c7b28 (diff) | |
download | ydb-8fbea85abdb79447bfe9abfec7463ce7c04365e8.tar.gz |
[dq] Separate setting SplitStageOnDqReplicate (YQL-17382) (#664)
4 files changed, 15 insertions, 1 deletions
diff --git a/ydb/library/yql/cfg/tests/gateways.conf b/ydb/library/yql/cfg/tests/gateways.conf index efe250f790..8c420a5109 100644 --- a/ydb/library/yql/cfg/tests/gateways.conf +++ b/ydb/library/yql/cfg/tests/gateways.conf @@ -188,6 +188,11 @@ Dq { Name: "UseWideChannels" Value: "true" } + + DefaultSettings { + Name: "SplitStageOnDqReplicate" + Value: "true" + } } Fs { diff --git a/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp b/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp index 5aac22998d..8ea0302229 100644 --- a/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp +++ b/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp @@ -83,10 +83,18 @@ TDqConfiguration::TDqConfiguration() { .ValueSetter([this](const TString&, TDqSettings::ESpillingEngine value) { SpillingEngine = value; if (value != TDqSettings::ESpillingEngine::Disable) { + SplitStageOnDqReplicate = false; EnableDqReplicate = true; } }); REGISTER_SETTING(*this, DisableLLVMForBlockStages); + REGISTER_SETTING(*this, SplitStageOnDqReplicate) + .ValueSetter([this](const TString&, bool value) { + SplitStageOnDqReplicate = value; + if (!value) { + EnableDqReplicate = true; + } + }); } } // namespace NYql diff --git a/ydb/library/yql/providers/dq/common/yql_dq_settings.h b/ydb/library/yql/providers/dq/common/yql_dq_settings.h index 30c7d99b92..c0284e015c 100644 --- a/ydb/library/yql/providers/dq/common/yql_dq_settings.h +++ b/ydb/library/yql/providers/dq/common/yql_dq_settings.h @@ -127,6 +127,7 @@ struct TDqSettings { NCommon::TConfSetting<bool, false> UseBlockReader; NCommon::TConfSetting<ESpillingEngine, false> SpillingEngine; NCommon::TConfSetting<bool, false> DisableLLVMForBlockStages; + NCommon::TConfSetting<bool, false> SplitStageOnDqReplicate; // This options will be passed to executor_actor and worker_actor template <typename TProtoConfig> diff --git a/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp b/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp index 5c1afce668..5de8c10f6b 100644 --- a/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp +++ b/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp @@ -266,7 +266,7 @@ private: } pipeline->Add( NDq::CreateDqBuildPhyStagesTransformer( - State_->Settings->SpillingEngine.Get().GetOrElse(TDqSettings::TDefault::SpillingEngine) != TDqSettings::ESpillingEngine::Disable, + !State_->Settings->SplitStageOnDqReplicate.Get().GetOrElse(true), *pipeline->GetTypeAnnotationContext(), mode ), "BuildPhy"); |