From 747ac2a45389163b9ff70d8c2e64c89fc937abc1 Mon Sep 17 00:00:00 2001 From: Alexey Ozeritskiy Date: Thu, 25 Apr 2024 16:33:02 +0200 Subject: [PATCH] Can setup disk in vanilla jobs (#4108) --- .../yql/providers/dq/actors/yt/yt_resource_manager.cpp | 10 ++++++++++ ydb/library/yql/providers/dq/config/config.proto | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/ydb/library/yql/providers/dq/actors/yt/yt_resource_manager.cpp b/ydb/library/yql/providers/dq/actors/yt/yt_resource_manager.cpp index cc254f9b9643..e750846601dc 100644 --- a/ydb/library/yql/providers/dq/actors/yt/yt_resource_manager.cpp +++ b/ydb/library/yql/providers/dq/actors/yt/yt_resource_manager.cpp @@ -683,6 +683,16 @@ namespace NYql { .DoIf(Options.YtBackend.HasUseTmpFs() && Options.YtBackend.GetUseTmpFs(), [&] (NYT::TFluentMap fluent) { fluent.Item("tmpfs_path").Value(fileCache); }) + .DoIf(Options.YtBackend.HasDiskRequest(), [&] (NYT::TFluentMap fluent) { + auto& diskRequest = Options.YtBackend.GetDiskRequest(); + fluent.Item("disk_request") + .BeginMap() + .DoIf(diskRequest.HasDiskSpace(), [&] (NYT::TFluentMap fluent) { fluent.Item("disk_space").Value(diskRequest.GetDiskSpace()); } ) + .DoIf(diskRequest.HasInodeCount(), [&] (NYT::TFluentMap fluent) { fluent.Item("inode_count").Value(diskRequest.GetInodeCount()); } ) + .DoIf(diskRequest.HasAccount(), [&] (NYT::TFluentMap fluent) { fluent.Item("account").Value(diskRequest.GetAccount()); } ) + .DoIf(diskRequest.HasMediumName(), [&] (NYT::TFluentMap fluent) { fluent.Item("medium_name").Value(diskRequest.GetMediumName()); } ) + .EndMap(); + }) .EndMap(); }) .EndMap() diff --git a/ydb/library/yql/providers/dq/config/config.proto b/ydb/library/yql/providers/dq/config/config.proto index ef6a0fd7e0c2..b83b3db8ae05 100644 --- a/ydb/library/yql/providers/dq/config/config.proto +++ b/ydb/library/yql/providers/dq/config/config.proto @@ -78,6 +78,13 @@ message TDqConfig { optional bool CleanupOnShutdown = 7; } + message TDiskRequest { + optional uint64 DiskSpace = 1; + optional uint64 InodeCount = 2; + optional string Account = 3; + optional string MediumName = 4; + } + message TYtBackend { optional string ClusterName = 1 [default = "hume"]; optional string User = 2; // default -- current user name @@ -116,6 +123,7 @@ message TDqConfig { optional bool CanUseComputeActor = 32 [default = false]; optional bool EnforceJobUtc = 33; optional TSpillingSettings SpillingSettings = 38; + optional TDiskRequest DiskRequest = 39; } repeated TYtBackend YtBackends = 5;