diff options
author | hor911 <hor911@ydb.tech> | 2022-10-03 19:17:41 +0300 |
---|---|---|
committer | hor911 <hor911@ydb.tech> | 2022-10-03 19:17:41 +0300 |
commit | 7a517894979131b3fb6a8975d2858fa0eb0dd850 (patch) | |
tree | 6553c859d1488d5440b01f9b88b75be0d387d306 | |
parent | b9173d246d9bc8c4ac8b80ea9b1b1101833355a8 (diff) | |
download | ydb-7a517894979131b3fb6a8975d2858fa0eb0dd850.tar.gz |
Dedup IDqGateway::TResult.Issues vs inherited Issues()
4 files changed, 11 insertions, 17 deletions
diff --git a/ydb/core/yq/libs/actors/run_actor.cpp b/ydb/core/yq/libs/actors/run_actor.cpp index e49c8236165..70385d299e0 100644 --- a/ydb/core/yq/libs/actors/run_actor.cpp +++ b/ydb/core/yq/libs/actors/run_actor.cpp @@ -750,7 +750,7 @@ private: gatewayResult.RowsCount = 0; } else { // for resultless results expect infinite INSERT FROM SELECT and fail YQL facade (with well known secret code?) - gatewayResult.Issues.AddIssues({NYql::TIssue("MAGIC BREAK").SetCode(555, NYql::TSeverityIds::S_ERROR)}); + gatewayResult.AddIssues({NYql::TIssue("MAGIC BREAK").SetCode(555, NYql::TSeverityIds::S_ERROR)}); } ev->Get()->Result.SetValue(gatewayResult); } diff --git a/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp b/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp index 7126b245ea6..3d2f7f48f1e 100644 --- a/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp +++ b/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp @@ -825,7 +825,7 @@ private: if (res.Fallback) { if (state->Settings->FallbackPolicy.Get().GetOrElse("default") == "never" || state->TypeCtx->ForceDq) { auto issues = TIssues{TIssue(ctx.GetPosition(input->Pos()), "Gateway Error").SetCode(TIssuesIds::DQ_GATEWAY_NEED_FALLBACK_ERROR, TSeverityIds::S_WARNING)}; - issues.AddIssues(res.Issues); + issues.AddIssues(res.Issues()); ctx.AssociativeIssues.emplace(input.Get(), std::move(issues)); return IGraphTransformer::TStatus(IGraphTransformer::TStatus::Error); } @@ -1182,7 +1182,6 @@ private: state->Statistics[state->MetricId++].Entries.push_back(TOperationStatistics::TEntry("Fallback", 0, 0, 0, 0, 1)); // never fallback will be captured in yql_facade auto issues = TIssues{TIssue(ctx.GetPosition(input->Pos()), "Gateway Error").SetCode(TIssuesIds::DQ_GATEWAY_NEED_FALLBACK_ERROR, TSeverityIds::S_WARNING)}; - issues.AddIssues(res.Issues); ctx.AssociativeIssues.emplace(input.Get(), std::move(issues)); return IGraphTransformer::TStatus(IGraphTransformer::TStatus::Error); } @@ -1212,7 +1211,7 @@ private: if (truncated && !state->TypeCtx->ForceDq && !enableFullResultWrite) { auto issue = TIssue(ctx.GetPosition(input->Pos()), TStringBuilder() << "DQ cannot execute the query. Cause: " << "too big result " << trStr).SetCode(TIssuesIds::DQ_GATEWAY_NEED_FALLBACK_ERROR, TSeverityIds::S_INFO); bool error = settings->FallbackPolicy.Get().GetOrElse("default") == "never"; - for (const auto& i : res.Issues) { + for (const auto& i : res.Issues()) { TIssuePtr subIssue = new TIssue(i); if (error && subIssue->Severity == TSeverityIds::S_WARNING) { subIssue->Severity = TSeverityIds::S_ERROR; @@ -1271,7 +1270,7 @@ private: writer.OnEndMap(); - ctx.IssueManager.RaiseIssues(res.Issues); + ctx.IssueManager.RaiseIssues(res.Issues()); input->SetResult(ctx.NewAtom(input->Pos(), out.Str())); return IGraphTransformer::TStatus(IGraphTransformer::TStatus::Ok); }, ""); @@ -1626,7 +1625,7 @@ private: state->Statistics[state->MetricId++].Entries.push_back(TOperationStatistics::TEntry("Fallback", 0, 0, 0, 0, 1)); } - CompleteNode(execState, node, [resIssues = res.Issues, fallback = res.Fallback](const TExprNode::TPtr& input, TExprNode::TPtr&, TExprContext& ctx) -> IGraphTransformer::TStatus { + CompleteNode(execState, node, [resIssues = res.Issues(), fallback = res.Fallback](const TExprNode::TPtr& input, TExprNode::TPtr&, TExprContext& ctx) -> IGraphTransformer::TStatus { auto issue = TIssue(ctx.GetPosition(input->Pos()), "Gateway Error"); if (fallback) { issue.SetCode(TIssuesIds::DQ_GATEWAY_NEED_FALLBACK_ERROR, TSeverityIds::S_WARNING); @@ -1642,7 +1641,7 @@ private: }); } else if (res.Truncated) { YQL_CLOG(DEBUG, ProviderDq) << "Finished with truncated result"; - CompleteNode(execState, node, [neverFallback, resIssues = res.Issues](const TExprNode::TPtr& input, TExprNode::TPtr&, TExprContext& ctx) -> IGraphTransformer::TStatus { + CompleteNode(execState, node, [neverFallback, resIssues = res.Issues()](const TExprNode::TPtr& input, TExprNode::TPtr&, TExprContext& ctx) -> IGraphTransformer::TStatus { auto issue = TIssue(ctx.GetPosition(input->Pos()), TStringBuilder() << "DQ cannot execute the query. Cause: " << "too big precompute result").SetCode(TIssuesIds::DQ_GATEWAY_NEED_FALLBACK_ERROR, TSeverityIds::S_INFO); for (const auto& i : resIssues) { TIssuePtr subIssue = new TIssue(i); @@ -1662,7 +1661,7 @@ private: }); } else { YQL_CLOG(DEBUG, ProviderDq) << "Finished"; - CompleteNode(execState, node, [resIssues = res.Issues, data = res.Data, success = res.Success()](const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) -> IGraphTransformer::TStatus { + CompleteNode(execState, node, [resIssues = res.Issues(), data = res.Data, success = res.Success()](const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) -> IGraphTransformer::TStatus { output = input; ctx.IssueManager.RaiseIssues(resIssues); input->SetResult(ctx.NewAtom(input->Pos(), data)); 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 82b6907affe..a821ec3d52a 100644 --- a/ydb/library/yql/providers/dq/provider/yql_dq_gateway.cpp +++ b/ydb/library/yql/providers/dq/provider/yql_dq_gateway.cpp @@ -102,11 +102,11 @@ public: result.Data = queryResult.yson().empty() ? NYdb::FormatResultSetYson(queryResult.result(), NYson::EYsonFormat::Binary) : queryResult.yson(); - result.Issues.AddIssues(issues); + result.AddIssues(issues); result.SetSuccess(); } else { YQL_CLOG(ERROR, ProviderDq) << "Issue " << issues.ToString(); - result.Issues.AddIssues(issues); + result.AddIssues(issues); if (fallback) { result.Fallback = true; result.SetSuccess(); @@ -124,10 +124,10 @@ public: YQL_CLOG(ERROR, ProviderDq) << "Fallback " << status.GRpcStatusCode; result.Fallback = true; result.SetSuccess(); - result.Issues.AddIssue(issue.SetCode(TIssuesIds::DQ_GATEWAY_NEED_FALLBACK_ERROR, TSeverityIds::S_ERROR)); + result.AddIssue(issue.SetCode(TIssuesIds::DQ_GATEWAY_NEED_FALLBACK_ERROR, TSeverityIds::S_ERROR)); } else { error = true; - result.Issues.AddIssue(issue.SetCode(TIssuesIds::DQ_GATEWAY_ERROR, TSeverityIds::S_ERROR)); + result.AddIssue(issue.SetCode(TIssuesIds::DQ_GATEWAY_ERROR, TSeverityIds::S_ERROR)); } } @@ -138,10 +138,6 @@ public: result.SetSuccess(); } - if (!result.Success()) { - result.AddIssues(result.Issues); - } - promise.SetValue(result); } diff --git a/ydb/library/yql/providers/dq/provider/yql_dq_gateway.h b/ydb/library/yql/providers/dq/provider/yql_dq_gateway.h index cf648de0bea..2a5904ec6e8 100644 --- a/ydb/library/yql/providers/dq/provider/yql_dq_gateway.h +++ b/ydb/library/yql/providers/dq/provider/yql_dq_gateway.h @@ -50,7 +50,6 @@ public: bool Retriable = false; bool Truncated = false; ui64 RowsCount = 0; - TIssues Issues; TOperationStatistics Statistics; |