aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraozeritsky <aozeritsky@yandex-team.ru>2022-03-16 15:19:42 +0300
committeraozeritsky <aozeritsky@yandex-team.ru>2022-03-16 15:19:42 +0300
commit0942409d3af1f6027548c2f73db1af9ef34b2f51 (patch)
tree854b39567f8a1c3c2864b97e3526a15d0fe723eb
parent2243ad12e06925668d7102c33d7b761fd016b204 (diff)
downloadydb-0942409d3af1f6027548c2f73db1af9ef34b2f51.tar.gz
YQL-13760: Set anon_limit
ref:196364ea7be19f3ae79e5301c603a3c9c998eb8e
-rw-r--r--ydb/library/yql/providers/dq/task_runner/tasks_runner_pipe.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/ydb/library/yql/providers/dq/task_runner/tasks_runner_pipe.cpp b/ydb/library/yql/providers/dq/task_runner/tasks_runner_pipe.cpp
index dfc063e903d..7af7fccc5d2 100644
--- a/ydb/library/yql/providers/dq/task_runner/tasks_runner_pipe.cpp
+++ b/ydb/library/yql/providers/dq/task_runner/tasks_runner_pipe.cpp
@@ -342,8 +342,17 @@ private:
void Kill() override {
try {
// see YQL-13760
- TShellCommand cmd(PortoCtl, {"set", ContainerName, "anon_limit", "0"});
- cmd.Run().Wait();
+ TShellCommand cmd1(PortoCtl, {"get", ContainerName, "anon_limit"});
+ cmd1.Run().Wait();
+ i64 anonLimit = FromString<i64>(cmd1.GetOutput());
+ TShellCommand cmd2(PortoCtl, {"get", ContainerName, "anon_usage"});
+ cmd2.Run().Wait();
+ i64 anonUsage = FromString<i64>(cmd2.GetOutput());
+ if (anonUsage >= anonLimit) {
+ TShellCommand cmd3(PortoCtl, {"set", ContainerName, "anon_limit",
+ ToString(anonUsage+(1<<20))});
+ cmd3.Run().Wait();
+ }
} catch (...) {
YQL_LOG(DEBUG) << "Cannot set anon_limit: " << CurrentExceptionMessage();
}