aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfedor-miron <fedor-miron@yandex-team.com>2023-09-26 15:06:35 +0300
committerfedor-miron <fedor-miron@yandex-team.com>2023-09-26 16:03:50 +0300
commit94af2b5ef93ab81863c52be00062478941d2342b (patch)
tree18985cb1b226f6cabc22c4113dd76898845f3e08
parent0202414407538a77d8f900c5e4440290d7ebc812 (diff)
downloadydb-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.cpp13
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;