diff options
author | spuchin <spuchin@ydb.tech> | 2022-07-16 23:39:15 +0300 |
---|---|---|
committer | spuchin <spuchin@ydb.tech> | 2022-07-16 23:39:15 +0300 |
commit | b465a0d63c57d7d37928b8134f27edab807ea019 (patch) | |
tree | 1565149a7469e74c0718f148fc99523942ca89a0 | |
parent | 78785eee45c58b98adc859e9286991ec9d1382af (diff) | |
download | ydb-b465a0d63c57d7d37928b8134f27edab807ea019.tar.gz |
Temporarily increase literal executer allocation limit. (,)
-rw-r--r-- | ydb/core/kqp/executer/kqp_literal_executer.cpp | 20 |
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); |