aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrlolthe1st <mrlolthe1st@yandex-team.com>2022-11-03 14:57:28 +0300
committermrlolthe1st <mrlolthe1st@yandex-team.com>2022-11-03 14:57:28 +0300
commite7d80dcf83664a6f49f2c1265a0a16162a112a59 (patch)
treeb23e0ce6e3979c17aeee7bf9c1f0efac429b77fa
parentf6313e0ed2947ba490bb9b21781ec57cc839d1e9 (diff)
downloadydb-e7d80dcf83664a6f49f2c1265a0a16162a112a59.tar.gz
fix issues backtrace symbolizing
fix issues symbolize test on testing
-rw-r--r--ydb/library/yql/providers/dq/provider/yql_dq_gateway.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/ydb/library/yql/providers/dq/provider/yql_dq_gateway.cpp b/ydb/library/yql/providers/dq/provider/yql_dq_gateway.cpp
index a821ec3d52a..c437730ceba 100644
--- a/ydb/library/yql/providers/dq/provider/yql_dq_gateway.cpp
+++ b/ydb/library/yql/providers/dq/provider/yql_dq_gateway.cpp
@@ -81,9 +81,20 @@ public:
NYql::TIssues issues;
auto operation = resp.operation();
- for (auto& message : *operation.Mutableissues()) {
- message.Setmessage(NBacktrace::Symbolize(message.Getmessage(), modulesMapping));
+
+ for (auto& message_ : *operation.Mutableissues()) {
+ TDeque<std::remove_reference_t<decltype(message_)>*> queue;
+ queue.push_front(&message_);
+ while (!queue.empty()) {
+ auto& message = *queue.front();
+ queue.pop_front();
+ message.Setmessage(NBacktrace::Symbolize(message.Getmessage(), modulesMapping));
+ for (auto &subMsg : *message.Mutableissues()) {
+ queue.push_back(&subMsg);
+ }
+ }
}
+
NYql::IssuesFromMessage(operation.issues(), issues);
error = false;
for (const auto& issue : issues) {