aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspuchin <spuchin@ydb.tech>2022-07-16 23:39:15 +0300
committerspuchin <spuchin@ydb.tech>2022-07-16 23:39:15 +0300
commitb465a0d63c57d7d37928b8134f27edab807ea019 (patch)
tree1565149a7469e74c0718f148fc99523942ca89a0
parent78785eee45c58b98adc859e9286991ec9d1382af (diff)
downloadydb-b465a0d63c57d7d37928b8134f27edab807ea019.tar.gz
Temporarily increase literal executer allocation limit. (,)
-rw-r--r--ydb/core/kqp/executer/kqp_literal_executer.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/ydb/core/kqp/executer/kqp_literal_executer.cpp b/ydb/core/kqp/executer/kqp_literal_executer.cpp
index 090a6381b5..a2b71317a7 100644
--- a/ydb/core/kqp/executer/kqp_literal_executer.cpp
+++ b/ydb/core/kqp/executer/kqp_literal_executer.cpp
@@ -154,20 +154,22 @@ private:
NMiniKQL::TMemoryUsageInfo memInfo("KqpLocalExecuter");
NMiniKQL::THolderFactory holderFactory(alloc.Ref(), memInfo, funcRegistry);
+ ui64 mkqlMemoryLimit = Request.MkqlMemoryLimit > 0
+ ? Request.MkqlMemoryLimit
+ : 1_GB;
+
auto rmConfig = GetKqpResourceManager()->GetConfig();
- ui64 limit = Request.MkqlMemoryLimit > 0
- ? std::min(Request.MkqlMemoryLimit, rmConfig.GetMkqlLightProgramMemoryLimit())
- : rmConfig.GetMkqlLightProgramMemoryLimit();
- alloc.SetLimit(limit);
-
- alloc.Ref().SetIncreaseMemoryLimitCallback([this, &alloc](ui64 limit, ui64 required) {
- if (required < 100_MB) {
- LOG_D("Increase memory limit from " << limit << " to " << required);
+ ui64 mkqlInitialLimit = std::min(mkqlMemoryLimit, rmConfig.GetMkqlLightProgramMemoryLimit());
+ alloc.SetLimit(mkqlInitialLimit);
+
+ // TODO: KIKIMR-15350
+ alloc.Ref().SetIncreaseMemoryLimitCallback([this, &alloc, mkqlMemoryLimit](ui64 currentLimit, ui64 required) {
+ if (required < mkqlMemoryLimit) {
+ LOG_D("Increase memory limit from " << currentLimit << " to " << required);
alloc.SetLimit(required);
}
});
-
// task runner settings
NMiniKQL::TKqpComputeContextBase computeCtx;
TDqTaskRunnerContext context = CreateTaskRunnerContext(&computeCtx, &alloc, &typeEnv);