aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Udovichenko <rvu@ydb.tech>2023-12-22 12:50:27 +0300
committerGitHub <noreply@github.com>2023-12-22 12:50:27 +0300
commit8fbea85abdb79447bfe9abfec7463ce7c04365e8 (patch)
treeede804161d3da3bacb8db5a357b712704fcc35eb
parent55c5812002354a2f466b720a77a0c1103d7c7b28 (diff)
downloadydb-8fbea85abdb79447bfe9abfec7463ce7c04365e8.tar.gz
[dq] Separate setting SplitStageOnDqReplicate (YQL-17382) (#664)
-rw-r--r--ydb/library/yql/cfg/tests/gateways.conf5
-rw-r--r--ydb/library/yql/providers/dq/common/yql_dq_settings.cpp8
-rw-r--r--ydb/library/yql/providers/dq/common/yql_dq_settings.h1
-rw-r--r--ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp2
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");