diff --git a/ydb/library/yql/providers/yt/common/yql_yt_settings.cpp b/ydb/library/yql/providers/yt/common/yql_yt_settings.cpp index 508aae116b33..b9538e8417f4 100644 --- a/ydb/library/yql/providers/yt/common/yql_yt_settings.cpp +++ b/ydb/library/yql/providers/yt/common/yql_yt_settings.cpp @@ -363,6 +363,20 @@ TYtConfiguration::TYtConfiguration() throw yexception() << "Expected yson map, but got " << value.GetType(); } }); + REGISTER_SETTING(*this, Description) + .Parser([](const TString& v) { return NYT::NodeFromYsonString(v); }) + .Validator([] (const TString&, const NYT::TNode& value) { + if (!value.IsMap()) { + throw yexception() << "Expected yson map, but got " << value.GetType(); + } + }); + REGISTER_SETTING(*this, StartedBy) + .Parser([](const TString& v) { return NYT::NodeFromYsonString(v); }) + .Validator([] (const TString&, const NYT::TNode& value) { + if (!value.IsMap()) { + throw yexception() << "Expected yson map, but got " << value.GetType(); + } + }); REGISTER_SETTING(*this, MaxSpeculativeJobCountPerTask); REGISTER_SETTING(*this, LLVMMemSize); REGISTER_SETTING(*this, LLVMPerNodeMemSize); diff --git a/ydb/library/yql/providers/yt/common/yql_yt_settings.h b/ydb/library/yql/providers/yt/common/yql_yt_settings.h index 9b5de8aa7c0e..469a6c116685 100644 --- a/ydb/library/yql/providers/yt/common/yql_yt_settings.h +++ b/ydb/library/yql/providers/yt/common/yql_yt_settings.h @@ -162,6 +162,8 @@ struct TYtSettings { NCommon::TConfSetting JobEnv; NCommon::TConfSetting OperationSpec; NCommon::TConfSetting Annotations; + NCommon::TConfSetting StartedBy; + NCommon::TConfSetting Description; NCommon::TConfSetting UseSkiff; NCommon::TConfSetting TableContentCompressLevel; NCommon::TConfSetting DisableJobSplitting; diff --git a/ydb/library/yql/providers/yt/gateway/native/yql_yt_spec.cpp b/ydb/library/yql/providers/yt/gateway/native/yql_yt_spec.cpp index 9fd4b04c5b49..2aad48fb8643 100644 --- a/ydb/library/yql/providers/yt/gateway/native/yql_yt_spec.cpp +++ b/ydb/library/yql/providers/yt/gateway/native/yql_yt_spec.cpp @@ -191,6 +191,14 @@ void FillSpec(NYT::TNode& spec, spec["annotations"] = *val; } + if (auto val = settings->StartedBy.Get(cluster)) { + spec["started_by"] = *val; + } + + if (auto val = settings->Description.Get(cluster)) { + spec["description"] = *val; + } + if (!opProps.HasFlags(EYtOpProp::IntermediateData)) { if (auto val = settings->MaxJobCount.Get(cluster)) { spec["max_job_count"] = static_cast(*val);