diff options
author | fedor-miron <fedor-miron@yandex-team.com> | 2023-09-26 15:06:35 +0300 |
---|---|---|
committer | fedor-miron <fedor-miron@yandex-team.com> | 2023-09-26 16:03:50 +0300 |
commit | 94af2b5ef93ab81863c52be00062478941d2342b (patch) | |
tree | 18985cb1b226f6cabc22c4113dd76898845f3e08 | |
parent | 0202414407538a77d8f900c5e4440290d7ebc812 (diff) | |
download | ydb-94af2b5ef93ab81863c52be00062478941d2342b.tar.gz |
YQL-16654: fix diagnostics on access error to yt node
-rw-r--r-- | ydb/library/yql/providers/yt/gateway/native/yql_yt_native.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/ydb/library/yql/providers/yt/gateway/native/yql_yt_native.cpp b/ydb/library/yql/providers/yt/gateway/native/yql_yt_native.cpp index 55aa616f4cd..26b770adbed 100644 --- a/ydb/library/yql/providers/yt/gateway/native/yql_yt_native.cpp +++ b/ydb/library/yql/providers/yt/gateway/native/yql_yt_native.cpp @@ -488,6 +488,11 @@ public: auto resolvedLinksFuture = getFolderFuture.Apply([options, this, session] (const TFuture<TBatchFolderResult>& f) { TVector<IYtGateway::TResolveOptions::TItemWithReqAttrs> resolveItems; auto res = f.GetValue(); + + if (!res.Success()) { + YQL_CLOG(INFO, ProviderYt) << "Skipping resolve for unsuccessful batch folder list call"; + return res; + } if (res.Items.empty()) { YQL_CLOG(INFO, ProviderYt) << "Skipping resolve for empty batch folder result"; return res; @@ -515,10 +520,16 @@ public: const ui32 countLimit = execCtx->Options_.Config()->FolderInlineItemsLimit.Get().GetOrElse(100); const ui64 sizeLimit = execCtx->Options_.Config()->FolderInlineDataLimit.Get().GetOrElse(100_KB); + auto resolveRes = f.GetValue(); + TFolderResult res; + if (!resolveRes.Success()) { + res.AddIssues(resolveRes.Issues()); + res.SetStatus(resolveRes.Status()); + return res; + } res.SetSuccess(); - auto resolveRes = f.GetValue(); YQL_CLOG(INFO, ProviderYt) << "Batch get command got: " << resolveRes.Items.size() << " items"; TVector<TFolderResult::TFolderItem> items; |