From 587d6bb291fbf231d6440d01326d4fd3387bcf77 Mon Sep 17 00:00:00 2001 From: aneporada Date: Tue, 20 May 2025 13:16:51 +0300 Subject: Refactor TConfSetting commit_hash:2ca0a7e131758036bd15ba9e58dce176b9eff6c9 --- .../providers/common/config/yql_dispatch.h | 39 +- .../providers/common/config/yql_setting.h | 19 +- yt/yql/providers/yt/common/yql_yt_settings.h | 470 +++++++++++---------- 3 files changed, 301 insertions(+), 227 deletions(-) diff --git a/yql/essentials/providers/common/config/yql_dispatch.h b/yql/essentials/providers/common/config/yql_dispatch.h index 97630e857de..bec237df32e 100644 --- a/yql/essentials/providers/common/config/yql_dispatch.h +++ b/yql/essentials/providers/common/config/yql_dispatch.h @@ -76,6 +76,23 @@ TParser GetDefaultParser(); YQL_PRIMITIVE_SETTING_PARSER_TYPES(YQL_DECLARE_SETTING_PARSER) YQL_CONTAINER_SETTING_PARSER_TYPES(YQL_DECLARE_SETTING_PARSER) +#ifdef YQL_BETTER_CONF_SETTING_API +template +TMaybe GetValue(const NCommon::TConfSetting& setting, const TString& cluster) { + return setting.Get(cluster); +} + +template +TMaybe GetValue(const NCommon::TConfSetting& setting, const TString& cluster) { + return setting.Get(cluster); +} + +template +TMaybe GetValue(const NCommon::TConfSetting& setting, const TString& cluster) { + Y_UNUSED(cluster); + return setting.Get(); +} +#else template TMaybe GetValue(const NCommon::TConfSetting& setting, const TString& cluster) { return setting.Get(cluster); @@ -96,6 +113,7 @@ TMaybe GetValue(const NCommon::TConfSetting& setting Y_UNUSED(cluster); return setting.Get(); } +#endif } @@ -135,15 +153,23 @@ public: TString Name_; }; +#ifdef YQL_BETTER_CONF_SETTING_API + template +#else template - class TSettingHandlerImpl: public TSettingHandler { +#endif + class TSettingHandlerImpl : public TSettingHandler { public: using TValueCallback = std::function; private: friend class TSettingDispatcher; +#ifdef YQL_BETTER_CONF_SETTING_API + TSettingHandlerImpl(const TString& name, TConfSetting& setting) +#else TSettingHandlerImpl(const TString& name, TConfSetting& setting) +#endif : TSettingHandler(name) , Setting_(setting) , Parser_(::NYql::NPrivate::GetDefaultParser()) @@ -322,8 +348,13 @@ public: } private: +#ifdef YQL_BETTER_CONF_SETTING_API + TConfSetting& Setting_; + TMaybe> Defaul_; +#else TConfSetting& Setting_; TMaybe> Defaul_; +#endif ::NYql::NPrivate::TParser Parser_; TValueCallback ValueSetter_; TVector Validators_; @@ -349,9 +380,15 @@ public: ValidClusters.insert(cluster); } +#ifdef YQL_BETTER_CONF_SETTING_API + template + TSettingHandlerImpl& AddSetting(const TString& name, TConfSetting& setting) { + TIntrusivePtr> handler = new TSettingHandlerImpl(name, setting); +#else template TSettingHandlerImpl& AddSetting(const TString& name, TConfSetting& setting) { TIntrusivePtr> handler = new TSettingHandlerImpl(name, setting); +#endif if (!Handlers.insert({NormalizeName(name), handler}).second) { ythrow yexception() << "Duplicate configuration setting name " << name.Quote(); } diff --git a/yql/essentials/providers/common/config/yql_setting.h b/yql/essentials/providers/common/config/yql_setting.h index 78e90ca0c5a..3b2110fbf28 100644 --- a/yql/essentials/providers/common/config/yql_setting.h +++ b/yql/essentials/providers/common/config/yql_setting.h @@ -12,8 +12,17 @@ namespace NCommon { const TString ALL_CLUSTERS = "$all"; -// TODO: replace RUNTIME/PERCLUSTER with enum +enum class EConfSettingType { + Static, + StaticPerCluster, + Dynamic, +}; + +#ifdef YQL_BETTER_CONF_SETTING_API +template +#else template +#endif class TConfSetting { public: TConfSetting() = default; @@ -25,7 +34,11 @@ public: ~TConfSetting() = default; bool IsRuntime() const { +#ifdef YQL_BETTER_CONF_SETTING_API + return SettingType == EConfSettingType::Dynamic; +#else return RUNTIME; +#endif } TType& operator[](const TString& cluster) { @@ -81,7 +94,11 @@ private: }; template +#ifdef YQL_BETTER_CONF_SETTING_API +class TConfSetting { +#else class TConfSetting { +#endif public: TConfSetting() = default; TConfSetting(const TType& value) diff --git a/yt/yql/providers/yt/common/yql_yt_settings.h b/yt/yql/providers/yt/common/yql_yt_settings.h index 386bb651c6b..5cde259c974 100644 --- a/yt/yql/providers/yt/common/yql_yt_settings.h +++ b/yt/yql/providers/yt/common/yql_yt_settings.h @@ -83,248 +83,268 @@ enum class ERuntimeClusterSelectionMode { }; struct TYtSettings { +private: +#ifdef YQL_BETTER_CONF_SETTING_API + static constexpr NCommon::EConfSettingType Static = NCommon::EConfSettingType::Static; + static constexpr NCommon::EConfSettingType Dynamic = NCommon::EConfSettingType::Dynamic; + static constexpr NCommon::EConfSettingType StaticPerCluster = NCommon::EConfSettingType::StaticPerCluster; +#else + static constexpr bool Static = false; + static constexpr bool Dynamic = true; +#endif +public: + using TConstPtr = std::shared_ptr; // should be static, because are used on earlier stages // static per-cluster +#ifdef YQL_BETTER_CONF_SETTING_API + NCommon::TConfSetting ExternalTx; + NCommon::TConfSetting TmpFolder; + NCommon::TConfSetting TablesTmpFolder; + NCommon::TConfSetting BinaryTmpFolder; + NCommon::TConfSetting StaticPool; + NCommon::TConfSetting CoreDumpPath; +#else NCommon::TConfSetting ExternalTx; NCommon::TConfSetting TmpFolder; NCommon::TConfSetting TablesTmpFolder; NCommon::TConfSetting BinaryTmpFolder; NCommon::TConfSetting StaticPool; NCommon::TConfSetting CoreDumpPath; +#endif // static global - NCommon::TConfSetting Auth; - NCommon::TConfSetting TempTablesTtl; - NCommon::TConfSetting KeepTempTables; - NCommon::TConfSetting InflightTempTablesLimit; - NCommon::TConfSetting ReleaseTempData; - NCommon::TConfSetting IgnoreYamrDsv; - NCommon::TConfSetting IgnoreWeakSchema; - NCommon::TConfSetting InferSchema; - NCommon::TConfSetting ForceInferSchema; - NCommon::TConfSetting InferSchemaTableCountThreshold; - NCommon::TConfSetting DefaultCalcMemoryLimit; - NCommon::TConfSetting ParallelOperationsLimit; - NCommon::TConfSetting LocalCalcLimit; - NCommon::TConfSetting QueryCacheMode; - NCommon::TConfSetting QueryCacheIgnoreTableRevision; - NCommon::TConfSetting QueryCacheSalt; - NCommon::TConfSetting QueryCacheTtl; - NCommon::TConfSetting QueryCacheUseExpirationTimeout; - NCommon::TConfSetting QueryCacheUseForCalc; - NCommon::TConfSetting DefaultMaxJobFails; - NCommon::TConfSetting DefaultCluster; - NCommon::TConfSetting BinaryExpirationInterval; - NCommon::TConfSetting IgnoreTypeV3; - NCommon::TConfSetting _UseMultisetAttributes; - NCommon::TConfSetting FileCacheTtl; - NCommon::TConfSetting _ImpersonationUser; - NCommon::TConfSetting InferSchemaMode; - NCommon::TConfSetting BatchListFolderConcurrency; - NCommon::TConfSetting ForceTmpSecurity; - NCommon::TConfSetting RuntimeClusterSelection; - NCommon::TConfSetting DefaultRuntimeCluster; - NCommon::TConfSetting _ForbidSensitiveDataInOperationSpec; - NCommon::TConfSetting _LocalTableContentLimit; - NCommon::TConfSetting EnableDynamicStoreReadInDQ; + NCommon::TConfSetting Auth; + NCommon::TConfSetting TempTablesTtl; + NCommon::TConfSetting KeepTempTables; + NCommon::TConfSetting InflightTempTablesLimit; + NCommon::TConfSetting ReleaseTempData; + NCommon::TConfSetting IgnoreYamrDsv; + NCommon::TConfSetting IgnoreWeakSchema; + NCommon::TConfSetting InferSchema; + NCommon::TConfSetting ForceInferSchema; + NCommon::TConfSetting InferSchemaTableCountThreshold; + NCommon::TConfSetting DefaultCalcMemoryLimit; + NCommon::TConfSetting ParallelOperationsLimit; + NCommon::TConfSetting LocalCalcLimit; + NCommon::TConfSetting QueryCacheMode; + NCommon::TConfSetting QueryCacheIgnoreTableRevision; + NCommon::TConfSetting QueryCacheSalt; + NCommon::TConfSetting QueryCacheTtl; + NCommon::TConfSetting QueryCacheUseExpirationTimeout; + NCommon::TConfSetting QueryCacheUseForCalc; + NCommon::TConfSetting DefaultMaxJobFails; + NCommon::TConfSetting DefaultCluster; + NCommon::TConfSetting BinaryExpirationInterval; + NCommon::TConfSetting IgnoreTypeV3; + NCommon::TConfSetting _UseMultisetAttributes; + NCommon::TConfSetting FileCacheTtl; + NCommon::TConfSetting _ImpersonationUser; + NCommon::TConfSetting InferSchemaMode; + NCommon::TConfSetting BatchListFolderConcurrency; + NCommon::TConfSetting ForceTmpSecurity; + NCommon::TConfSetting RuntimeClusterSelection; + NCommon::TConfSetting DefaultRuntimeCluster; + NCommon::TConfSetting _ForbidSensitiveDataInOperationSpec; + NCommon::TConfSetting _LocalTableContentLimit; + NCommon::TConfSetting EnableDynamicStoreReadInDQ; // Job runtime - NCommon::TConfSetting Pool; - NCommon::TConfSetting DefaultMemoryLimit; - NCommon::TConfSetting DefaultMemoryReserveFactor; - NCommon::TConfSetting DefaultMemoryDigestLowerBound; - NCommon::TConfSetting MaxRowWeight; - NCommon::TConfSetting MaxKeyWeight; - NCommon::TConfSetting BufferRowCount; - NCommon::TConfSetting DataSizePerJob; - NCommon::TConfSetting DataSizePerSortJob; - NCommon::TConfSetting DataSizePerMapJob; - NCommon::TConfSetting DataSizePerPartition; - NCommon::TConfSetting DefaultLocalityTimeout; - NCommon::TConfSetting MapLocalityTimeout; - NCommon::TConfSetting ReduceLocalityTimeout; - NCommon::TConfSetting SortLocalityTimeout; - NCommon::TConfSetting MinLocalityInputDataWeight; - NCommon::TConfSetting MaxJobCount; - NCommon::TConfSetting UserSlots; - NCommon::TConfSetting DefaultOperationWeight; - NCommon::TConfSetting DefaultMapSelectivityFactor; - NCommon::TConfSetting NightlyCompress; - NCommon::TConfSetting PublishedCompressionCodec; - NCommon::TConfSetting TemporaryCompressionCodec; - NCommon::TConfSetting PublishedErasureCodec; - NCommon::TConfSetting TemporaryErasureCodec; - NCommon::TConfSetting ClientMapTimeout; // TODO: yt_native - NCommon::TConfSetting UseTmpfs; - NCommon::TConfSetting SuspendIfAccountLimitExceeded; - NCommon::TConfSetting ExtraTmpfsSize; - NCommon::TConfSetting OptimizeFor; // {scan, lookup} - NCommon::TConfSetting ExpirationDeadline; - NCommon::TConfSetting ExpirationInterval; - NCommon::TConfSetting ScriptCpu; - NCommon::TConfSetting PythonCpu; - NCommon::TConfSetting JavascriptCpu; - NCommon::TConfSetting ErasureCodecCpu; - NCommon::TConfSetting ErasureCodecCpuForDq; - NCommon::TConfSetting, true> Owners; - NCommon::TConfSetting, true> OperationReaders; - NCommon::TConfSetting SchedulingTag; - NCommon::TConfSetting SchedulingTagFilter; - NCommon::TConfSetting, true> PoolTrees; - NCommon::TConfSetting, true> TentativePoolTrees; - NCommon::TConfSetting TentativeTreeEligibilitySampleJobCount; - NCommon::TConfSetting TentativeTreeEligibilityMaxJobDurationRatio; - NCommon::TConfSetting TentativeTreeEligibilityMinJobDuration; - NCommon::TConfSetting UseDefaultTentativePoolTrees; - NCommon::TConfSetting IntermediateAccount; - NCommon::TConfSetting IntermediateReplicationFactor; - NCommon::TConfSetting PublishedReplicationFactor; - NCommon::TConfSetting TemporaryReplicationFactor; - NCommon::TConfSetting AutoMerge; // {relaxed, economy, disabled} - NCommon::TConfSetting PublishedAutoMerge; - NCommon::TConfSetting TemporaryAutoMerge; - NCommon::TConfSetting, true> LayerPaths; - NCommon::TConfSetting DockerImage; - NCommon::TConfSetting JobEnv; - NCommon::TConfSetting OperationSpec; - NCommon::TConfSetting FmrOperationSpec; - NCommon::TConfSetting Annotations; - NCommon::TConfSetting StartedBy; - NCommon::TConfSetting Description; - NCommon::TConfSetting UseSkiff; - NCommon::TConfSetting TableContentCompressLevel; - NCommon::TConfSetting DisableJobSplitting; - NCommon::TConfSetting UseColumnarStatistics; - NCommon::TConfSetting TableContentDeliveryMode; - NCommon::TConfSetting TableContentUseSkiff; - NCommon::TConfSetting TableContentTmpFolder; - NCommon::TConfSetting TableContentColumnarStatistics; - NCommon::TConfSetting GeobaseDownloadUrl; - NCommon::TConfSetting MaxSpeculativeJobCountPerTask; - NCommon::TConfSetting LLVMMemSize; - NCommon::TConfSetting LLVMPerNodeMemSize; - NCommon::TConfSetting LLVMNodeCountLimit; - NCommon::TConfSetting SamplingIoBlockSize; - NCommon::TConfSetting PublishedMedia; - NCommon::TConfSetting TemporaryMedia; - NCommon::TConfSetting PublishedPrimaryMedium; - NCommon::TConfSetting TemporaryPrimaryMedium; - NCommon::TConfSetting IntermediateDataMedium; - NCommon::TConfSetting PrimaryMedium; - NCommon::TConfSetting QueryCacheChunkLimit; - NCommon::TConfSetting NativeYtTypeCompatibility; - NCommon::TConfSetting _UseKeyBoundApi; - NCommon::TConfSetting NetworkProject; - NCommon::TConfSetting _EnableYtPartitioning; - NCommon::TConfSetting ForceJobSizeAdjuster; - NCommon::TConfSetting EnforceJobUtc; - NCommon::TConfSetting UseRPCReaderInDQ; - NCommon::TConfSetting DQRPCReaderInflight; - NCommon::TConfSetting DQRPCReaderTimeout; - NCommon::TConfSetting, true> BlockReaderSupportedTypes; - NCommon::TConfSetting, true> BlockReaderSupportedDataTypes; - NCommon::TConfSetting _BinaryCacheFolder; - NCommon::TConfSetting RuntimeCluster; - NCommon::TConfSetting _AllowRemoteClusterInput; - NCommon::TConfSetting _EnableDq; + NCommon::TConfSetting Pool; + NCommon::TConfSetting DefaultMemoryLimit; + NCommon::TConfSetting DefaultMemoryReserveFactor; + NCommon::TConfSetting DefaultMemoryDigestLowerBound; + NCommon::TConfSetting MaxRowWeight; + NCommon::TConfSetting MaxKeyWeight; + NCommon::TConfSetting BufferRowCount; + NCommon::TConfSetting DataSizePerJob; + NCommon::TConfSetting DataSizePerSortJob; + NCommon::TConfSetting DataSizePerMapJob; + NCommon::TConfSetting DataSizePerPartition; + NCommon::TConfSetting DefaultLocalityTimeout; + NCommon::TConfSetting MapLocalityTimeout; + NCommon::TConfSetting ReduceLocalityTimeout; + NCommon::TConfSetting SortLocalityTimeout; + NCommon::TConfSetting MinLocalityInputDataWeight; + NCommon::TConfSetting MaxJobCount; + NCommon::TConfSetting UserSlots; + NCommon::TConfSetting DefaultOperationWeight; + NCommon::TConfSetting DefaultMapSelectivityFactor; + NCommon::TConfSetting NightlyCompress; + NCommon::TConfSetting PublishedCompressionCodec; + NCommon::TConfSetting TemporaryCompressionCodec; + NCommon::TConfSetting PublishedErasureCodec; + NCommon::TConfSetting TemporaryErasureCodec; + NCommon::TConfSetting ClientMapTimeout; // TODO: yt_native + NCommon::TConfSetting UseTmpfs; + NCommon::TConfSetting SuspendIfAccountLimitExceeded; + NCommon::TConfSetting ExtraTmpfsSize; + NCommon::TConfSetting OptimizeFor; // {scan, lookup} + NCommon::TConfSetting ExpirationDeadline; + NCommon::TConfSetting ExpirationInterval; + NCommon::TConfSetting ScriptCpu; + NCommon::TConfSetting PythonCpu; + NCommon::TConfSetting JavascriptCpu; + NCommon::TConfSetting ErasureCodecCpu; + NCommon::TConfSetting ErasureCodecCpuForDq; + NCommon::TConfSetting, Dynamic> Owners; + NCommon::TConfSetting, Dynamic> OperationReaders; + NCommon::TConfSetting SchedulingTag; + NCommon::TConfSetting SchedulingTagFilter; + NCommon::TConfSetting, Dynamic> PoolTrees; + NCommon::TConfSetting, Dynamic> TentativePoolTrees; + NCommon::TConfSetting TentativeTreeEligibilitySampleJobCount; + NCommon::TConfSetting TentativeTreeEligibilityMaxJobDurationRatio; + NCommon::TConfSetting TentativeTreeEligibilityMinJobDuration; + NCommon::TConfSetting UseDefaultTentativePoolTrees; + NCommon::TConfSetting IntermediateAccount; + NCommon::TConfSetting IntermediateReplicationFactor; + NCommon::TConfSetting PublishedReplicationFactor; + NCommon::TConfSetting TemporaryReplicationFactor; + NCommon::TConfSetting AutoMerge; // {relaxed, economy, disabled} + NCommon::TConfSetting PublishedAutoMerge; + NCommon::TConfSetting TemporaryAutoMerge; + NCommon::TConfSetting, Dynamic> LayerPaths; + NCommon::TConfSetting DockerImage; + NCommon::TConfSetting JobEnv; + NCommon::TConfSetting OperationSpec; + NCommon::TConfSetting FmrOperationSpec; + NCommon::TConfSetting Annotations; + NCommon::TConfSetting StartedBy; + NCommon::TConfSetting Description; + NCommon::TConfSetting UseSkiff; + NCommon::TConfSetting TableContentCompressLevel; + NCommon::TConfSetting DisableJobSplitting; + NCommon::TConfSetting UseColumnarStatistics; + NCommon::TConfSetting TableContentDeliveryMode; + NCommon::TConfSetting TableContentUseSkiff; + NCommon::TConfSetting TableContentTmpFolder; + NCommon::TConfSetting TableContentColumnarStatistics; + NCommon::TConfSetting GeobaseDownloadUrl; + NCommon::TConfSetting MaxSpeculativeJobCountPerTask; + NCommon::TConfSetting LLVMMemSize; + NCommon::TConfSetting LLVMPerNodeMemSize; + NCommon::TConfSetting LLVMNodeCountLimit; + NCommon::TConfSetting SamplingIoBlockSize; + NCommon::TConfSetting PublishedMedia; + NCommon::TConfSetting TemporaryMedia; + NCommon::TConfSetting PublishedPrimaryMedium; + NCommon::TConfSetting TemporaryPrimaryMedium; + NCommon::TConfSetting IntermediateDataMedium; + NCommon::TConfSetting PrimaryMedium; + NCommon::TConfSetting QueryCacheChunkLimit; + NCommon::TConfSetting NativeYtTypeCompatibility; + NCommon::TConfSetting _UseKeyBoundApi; + NCommon::TConfSetting NetworkProject; + NCommon::TConfSetting _EnableYtPartitioning; + NCommon::TConfSetting ForceJobSizeAdjuster; + NCommon::TConfSetting EnforceJobUtc; + NCommon::TConfSetting UseRPCReaderInDQ; + NCommon::TConfSetting DQRPCReaderInflight; + NCommon::TConfSetting DQRPCReaderTimeout; + NCommon::TConfSetting, Dynamic> BlockReaderSupportedTypes; + NCommon::TConfSetting, Dynamic> BlockReaderSupportedDataTypes; + NCommon::TConfSetting _BinaryCacheFolder; + NCommon::TConfSetting RuntimeCluster; + NCommon::TConfSetting _AllowRemoteClusterInput; + NCommon::TConfSetting _EnableDq; // Optimizers (static global) - NCommon::TConfSetting ExtendTableLimit; // Deprecated. Use MaxInputTables instead - NCommon::TConfSetting CommonJoinCoreLimit; - NCommon::TConfSetting CombineCoreLimit; - NCommon::TConfSetting SwitchLimit; - NCommon::TConfSetting JoinMergeTablesLimit; - NCommon::TConfSetting JoinMergeUseSmallAsPrimary; - NCommon::TConfSetting JoinMergeReduceJobMaxSize; - NCommon::TConfSetting JoinMergeUnsortedFactor; // (>=0.0) - NCommon::TConfSetting JoinMergeForce; - NCommon::TConfSetting MapJoinLimit; - NCommon::TConfSetting MapJoinShardMinRows; - NCommon::TConfSetting MapJoinShardCount; // [1-10] - NCommon::TConfSetting MapJoinUseFlow; - NCommon::TConfSetting BlockMapJoin; - NCommon::TConfSetting LookupJoinLimit; - NCommon::TConfSetting LookupJoinMaxRows; - NCommon::TConfSetting EvaluationTableSizeLimit; - NCommon::TConfSetting, false> DisableOptimizers; - NCommon::TConfSetting MaxInputTables; - NCommon::TConfSetting MaxInputTablesForSortedMerge; - NCommon::TConfSetting MaxOutputTables; - NCommon::TConfSetting DisableFuseOperations; - NCommon::TConfSetting EnableFuseMapToMapReduce; - NCommon::TConfSetting MaxExtraJobMemoryToFuseOperations; - NCommon::TConfSetting MaxReplicationFactorToFuseOperations; - NCommon::TConfSetting MaxOperationFiles; - NCommon::TConfSetting MinPublishedAvgChunkSize; - NCommon::TConfSetting MinTempAvgChunkSize; - NCommon::TConfSetting TopSortMaxLimit; - NCommon::TConfSetting TopSortSizePerJob; - NCommon::TConfSetting TopSortRowMultiplierPerJob; - NCommon::TConfSetting JoinUseColumnarStatistics; // Deprecated. Use JoinCollectColumnarStatistics instead - NCommon::TConfSetting JoinCollectColumnarStatistics; - NCommon::TConfSetting JoinColumnarStatisticsFetcherMode; - NCommon::TConfSetting JoinWaitAllInputs; - NCommon::TConfSetting JoinAllowColumnRenames; - NCommon::TConfSetting JoinMergeSetTopLevelFullSort; - NCommon::TConfSetting JoinEnableStarJoin; - NCommon::TConfSetting FolderInlineDataLimit; - NCommon::TConfSetting FolderInlineItemsLimit; - NCommon::TConfSetting TableContentMinAvgChunkSize; - NCommon::TConfSetting TableContentMaxInputTables; - NCommon::TConfSetting TableContentMaxChunksForNativeDelivery; - NCommon::TConfSetting TableContentLocalExecution; - NCommon::TConfSetting UseTypeV2; - NCommon::TConfSetting UseNativeYtTypes; - NCommon::TConfSetting UseNativeDescSort; - NCommon::TConfSetting UseIntermediateSchema; - NCommon::TConfSetting UseIntermediateStreams; - NCommon::TConfSetting UseFlow; - NCommon::TConfSetting WideFlowLimit; - NCommon::TConfSetting UseSystemColumns; - NCommon::TConfSetting HybridDqExecution; - NCommon::TConfSetting HybridDqTimeSpentLimit; - NCommon::TConfSetting HybridDqDataSizeLimitForOrdered; - NCommon::TConfSetting HybridDqDataSizeLimitForUnordered; - NCommon::TConfSetting HybridDqExecutionFallback; - NCommon::TConfSetting UseYqlRowSpecCompactForm; - NCommon::TConfSetting UseNewPredicateExtraction; - NCommon::TConfSetting PruneKeyFilterLambda; - NCommon::TConfSetting DqPruneKeyFilterLambda; - NCommon::TConfSetting UseQLFilter; - NCommon::TConfSetting PruneQLFilterLambda; - NCommon::TConfSetting MergeAdjacentPointRanges; - NCommon::TConfSetting KeyFilterForStartsWith; - NCommon::TConfSetting MaxKeyRangeCount; - NCommon::TConfSetting MaxChunksForDqRead; - NCommon::TConfSetting JoinCommonUseMapMultiOut; - NCommon::TConfSetting UseAggPhases; - NCommon::TConfSetting UsePartitionsByKeysForFinalAgg; - NCommon::TConfSetting MaxCpuUsageToFuseMultiOuts; - NCommon::TConfSetting MaxReplicationFactorToFuseMultiOuts; - NCommon::TConfSetting ApplyStoredConstraints; - NCommon::TConfSetting ViewIsolation; - NCommon::TConfSetting PartitionByConstantKeysViaMap; - NCommon::TConfSetting ColumnGroupMode; - NCommon::TConfSetting MinColumnGroupSize; - NCommon::TConfSetting MaxColumnGroups; - NCommon::TConfSetting ExtendedStatsMaxChunkCount; - NCommon::TConfSetting JobBlockInput; - NCommon::TConfSetting JobBlockTableContent; - NCommon::TConfSetting, false> JobBlockInputSupportedTypes; - NCommon::TConfSetting, false> JobBlockInputSupportedDataTypes; - NCommon::TConfSetting JobBlockOutput; - NCommon::TConfSetting, false> JobBlockOutputSupportedTypes; - NCommon::TConfSetting, false> JobBlockOutputSupportedDataTypes; - NCommon::TConfSetting _EnableYtDqProcessWriteConstraints; - NCommon::TConfSetting CompactForDistinct; - NCommon::TConfSetting DropUnusedKeysFromKeyFilter; - NCommon::TConfSetting ReportEquiJoinStats; - NCommon::TConfSetting UseColumnGroupsFromInputTables; - NCommon::TConfSetting UseNativeDynamicTableRead; - NCommon::TConfSetting DontForceTransformForInputTables; + NCommon::TConfSetting ExtendTableLimit; // Deprecated. Use MaxInputTables instead + NCommon::TConfSetting CommonJoinCoreLimit; + NCommon::TConfSetting CombineCoreLimit; + NCommon::TConfSetting SwitchLimit; + NCommon::TConfSetting JoinMergeTablesLimit; + NCommon::TConfSetting JoinMergeUseSmallAsPrimary; + NCommon::TConfSetting JoinMergeReduceJobMaxSize; + NCommon::TConfSetting JoinMergeUnsortedFactor; // (>=0.0) + NCommon::TConfSetting JoinMergeForce; + NCommon::TConfSetting MapJoinLimit; + NCommon::TConfSetting MapJoinShardMinRows; + NCommon::TConfSetting MapJoinShardCount; // [1-10] + NCommon::TConfSetting MapJoinUseFlow; + NCommon::TConfSetting BlockMapJoin; + NCommon::TConfSetting LookupJoinLimit; + NCommon::TConfSetting LookupJoinMaxRows; + NCommon::TConfSetting EvaluationTableSizeLimit; + NCommon::TConfSetting, Static> DisableOptimizers; + NCommon::TConfSetting MaxInputTables; + NCommon::TConfSetting MaxInputTablesForSortedMerge; + NCommon::TConfSetting MaxOutputTables; + NCommon::TConfSetting DisableFuseOperations; + NCommon::TConfSetting EnableFuseMapToMapReduce; + NCommon::TConfSetting MaxExtraJobMemoryToFuseOperations; + NCommon::TConfSetting MaxReplicationFactorToFuseOperations; + NCommon::TConfSetting MaxOperationFiles; + NCommon::TConfSetting MinPublishedAvgChunkSize; + NCommon::TConfSetting MinTempAvgChunkSize; + NCommon::TConfSetting TopSortMaxLimit; + NCommon::TConfSetting TopSortSizePerJob; + NCommon::TConfSetting TopSortRowMultiplierPerJob; + NCommon::TConfSetting JoinUseColumnarStatistics; // Deprecated. Use JoinCollectColumnarStatistics instead + NCommon::TConfSetting JoinCollectColumnarStatistics; + NCommon::TConfSetting JoinColumnarStatisticsFetcherMode; + NCommon::TConfSetting JoinWaitAllInputs; + NCommon::TConfSetting JoinAllowColumnRenames; + NCommon::TConfSetting JoinMergeSetTopLevelFullSort; + NCommon::TConfSetting JoinEnableStarJoin; + NCommon::TConfSetting FolderInlineDataLimit; + NCommon::TConfSetting FolderInlineItemsLimit; + NCommon::TConfSetting TableContentMinAvgChunkSize; + NCommon::TConfSetting TableContentMaxInputTables; + NCommon::TConfSetting TableContentMaxChunksForNativeDelivery; + NCommon::TConfSetting TableContentLocalExecution; + NCommon::TConfSetting UseTypeV2; + NCommon::TConfSetting UseNativeYtTypes; + NCommon::TConfSetting UseNativeDescSort; + NCommon::TConfSetting UseIntermediateSchema; + NCommon::TConfSetting UseIntermediateStreams; + NCommon::TConfSetting UseFlow; + NCommon::TConfSetting WideFlowLimit; + NCommon::TConfSetting UseSystemColumns; + NCommon::TConfSetting HybridDqExecution; + NCommon::TConfSetting HybridDqTimeSpentLimit; + NCommon::TConfSetting HybridDqDataSizeLimitForOrdered; + NCommon::TConfSetting HybridDqDataSizeLimitForUnordered; + NCommon::TConfSetting HybridDqExecutionFallback; + NCommon::TConfSetting UseYqlRowSpecCompactForm; + NCommon::TConfSetting UseNewPredicateExtraction; + NCommon::TConfSetting PruneKeyFilterLambda; + NCommon::TConfSetting DqPruneKeyFilterLambda; + NCommon::TConfSetting UseQLFilter; + NCommon::TConfSetting PruneQLFilterLambda; + NCommon::TConfSetting MergeAdjacentPointRanges; + NCommon::TConfSetting KeyFilterForStartsWith; + NCommon::TConfSetting MaxKeyRangeCount; + NCommon::TConfSetting MaxChunksForDqRead; + NCommon::TConfSetting JoinCommonUseMapMultiOut; + NCommon::TConfSetting UseAggPhases; + NCommon::TConfSetting UsePartitionsByKeysForFinalAgg; + NCommon::TConfSetting MaxCpuUsageToFuseMultiOuts; + NCommon::TConfSetting MaxReplicationFactorToFuseMultiOuts; + NCommon::TConfSetting ApplyStoredConstraints; + NCommon::TConfSetting ViewIsolation; + NCommon::TConfSetting PartitionByConstantKeysViaMap; + NCommon::TConfSetting ColumnGroupMode; + NCommon::TConfSetting MinColumnGroupSize; + NCommon::TConfSetting MaxColumnGroups; + NCommon::TConfSetting ExtendedStatsMaxChunkCount; + NCommon::TConfSetting JobBlockInput; + NCommon::TConfSetting JobBlockTableContent; + NCommon::TConfSetting, Static> JobBlockInputSupportedTypes; + NCommon::TConfSetting, Static> JobBlockInputSupportedDataTypes; + NCommon::TConfSetting JobBlockOutput; + NCommon::TConfSetting, Static> JobBlockOutputSupportedTypes; + NCommon::TConfSetting, Static> JobBlockOutputSupportedDataTypes; + NCommon::TConfSetting _EnableYtDqProcessWriteConstraints; + NCommon::TConfSetting CompactForDistinct; + NCommon::TConfSetting DropUnusedKeysFromKeyFilter; + NCommon::TConfSetting ReportEquiJoinStats; + NCommon::TConfSetting UseColumnGroupsFromInputTables; + NCommon::TConfSetting UseNativeDynamicTableRead; + NCommon::TConfSetting DontForceTransformForInputTables; }; EReleaseTempDataMode GetReleaseTempDataMode(const TYtSettings& settings); -- cgit v1.3