@@ -89,6 +89,8 @@ class TKqpCaFactory : public IKqpNodeComputeActorFactory {
89
89
std::atomic<ui64> MkqlHeavyProgramMemoryLimit = 0 ;
90
90
std::atomic<ui64> MinChannelBufferSize = 0 ;
91
91
std::atomic<ui64> ReasonableSpillingTreshold = 0 ;
92
+ std::atomic<ui64> MinMemAllocSize = 8_MB;
93
+ std::atomic<ui64> MinMemFreeSize = 32_MB;
92
94
93
95
public:
94
96
TKqpCaFactory (const NKikimrConfig::TTableServiceConfig::TResourceManager& config,
@@ -108,13 +110,17 @@ class TKqpCaFactory : public IKqpNodeComputeActorFactory {
108
110
MkqlHeavyProgramMemoryLimit.store (config.GetMkqlHeavyProgramMemoryLimit ());
109
111
MinChannelBufferSize.store (config.GetMinChannelBufferSize ());
110
112
ReasonableSpillingTreshold.store (config.GetReasonableSpillingTreshold ());
113
+ MinMemAllocSize.store (config.GetMinMemAllocSize ());
114
+ MinMemFreeSize.store (config.GetMinMemFreeSize ());
111
115
}
112
116
113
117
TActorStartResult CreateKqpComputeActor (TCreateArgs&& args) {
114
118
NYql::NDq::TComputeMemoryLimits memoryLimits;
115
119
memoryLimits.ChannelBufferSize = 0 ;
116
120
memoryLimits.MkqlLightProgramMemoryLimit = MkqlLightProgramMemoryLimit.load ();
117
121
memoryLimits.MkqlHeavyProgramMemoryLimit = MkqlHeavyProgramMemoryLimit.load ();
122
+ memoryLimits.MinMemAllocSize = MinMemAllocSize.load ();
123
+ memoryLimits.MinMemFreeSize = MinMemFreeSize.load ();
118
124
119
125
auto estimation = ResourceManager_->EstimateTaskResources (*args.Task , args.NumberOfTasks );
120
126
NRm::TKqpResourcesRequest resourcesRequest;
@@ -232,4 +238,4 @@ std::shared_ptr<IKqpNodeComputeActorFactory> MakeKqpCaFactory(const NKikimrConfi
232
238
return std::make_shared<TKqpCaFactory>(config, resourceManager, asyncIoFactory, federatedQuerySetup);
233
239
}
234
240
235
- }
241
+ }
0 commit comments