diff options
author | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
commit | 31773f157bf8164364649b5f470f52dece0a4317 (patch) | |
tree | 33d0f7eef45303ab68cf08ab381ce5e5e36c5240 /yt/cpp/mapreduce/interface | |
parent | 2c7938962d8689e175574fc1e817c05049f27905 (diff) | |
parent | eff600952d5dfe17942f38f510a8ac2b203bb3a5 (diff) | |
download | ydb-31773f157bf8164364649b5f470f52dece0a4317.tar.gz |
Merge branch 'rightlib' into mergelibs-241120-1113
Diffstat (limited to 'yt/cpp/mapreduce/interface')
-rw-r--r-- | yt/cpp/mapreduce/interface/errors.cpp | 24 | ||||
-rw-r--r-- | yt/cpp/mapreduce/interface/errors.h | 19 |
2 files changed, 25 insertions, 18 deletions
diff --git a/yt/cpp/mapreduce/interface/errors.cpp b/yt/cpp/mapreduce/interface/errors.cpp index ef3d2db4a3..0819c8ca56 100644 --- a/yt/cpp/mapreduce/interface/errors.cpp +++ b/yt/cpp/mapreduce/interface/errors.cpp @@ -20,20 +20,11 @@ using namespace NJson; static void WriteErrorDescription(const TYtError& error, IOutputStream* out) { - (*out) << '\'' << error.GetMessage() << '\''; + (*out) << error.GetMessage(); const auto& innerErrorList = error.InnerErrors(); if (!innerErrorList.empty()) { - (*out) << " { "; - bool first = true; - for (const auto& innerError : innerErrorList) { - if (first) { - first = false; - } else { - (*out) << " ; "; - } - WriteErrorDescription(innerError, out); - } - (*out) << " }"; + (*out) << ": "; + WriteErrorDescription(innerErrorList[0], out); } } @@ -118,9 +109,11 @@ TYtError::TYtError(const TString& message) , Message_(message) { } -TYtError::TYtError(int code, const TString& message) +TYtError::TYtError(int code, TString message, TVector<TYtError> innerError, TNode::TMapType attributes) : Code_(code) , Message_(message) + , InnerErrors_(innerError) + , Attributes_(attributes) { } TYtError::TYtError(const TJsonValue& value) @@ -396,6 +389,11 @@ void TErrorResponse::Setup() *this << Error_.FullDescription(); } +TTransportError::TTransportError(TYtError error) +{ + *this << error.FullDescription(); +} + //////////////////////////////////////////////////////////////////////////////// TOperationFailedError::TOperationFailedError( diff --git a/yt/cpp/mapreduce/interface/errors.h b/yt/cpp/mapreduce/interface/errors.h index afad58ed72..1311dbcf3d 100644 --- a/yt/cpp/mapreduce/interface/errors.h +++ b/yt/cpp/mapreduce/interface/errors.h @@ -6,14 +6,14 @@ /// Errors and exceptions emitted by library. #include "fwd.h" -#include "common.h" #include <library/cpp/yson/node/node.h> #include <util/generic/bt_exception.h> -#include <util/generic/yexception.h> +#include <util/generic/guid.h> #include <util/generic/string.h> #include <util/generic/vector.h> +#include <util/generic/yexception.h> namespace NJson { class TJsonValue; @@ -67,8 +67,8 @@ public: /// Constructs error with NYT::NClusterErrorCodes::Generic code and given message. explicit TYtError(const TString& message); - /// Constructs error with given code and given message. - TYtError(int code, const TString& message); + /// Constructs error from given parameters. + TYtError(int code, TString message, TVector<TYtError> inner = {}, TNode::TMapType attributes = {}); /// Construct error from json representation. TYtError(const ::NJson::TJsonValue& value); @@ -158,7 +158,6 @@ class TErrorResponse { public: TErrorResponse(int httpCode, const TString& requestId); - TErrorResponse(int httpCode, TYtError error); /// Get error object returned by server. const TYtError& GetError() const; @@ -222,6 +221,16 @@ private: //////////////////////////////////////////////////////////////////////////////// +/// @brief System error indicating that response from server cannot be received +class TTransportError + : public yexception +{ +public: + explicit TTransportError(TYtError error); +}; + +//////////////////////////////////////////////////////////////////////////////// + /// Info about failed jobs. /// /// @see NYT::TOperationFailedError |