aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordinmukhammed <dinmukhammed@yandex-team.ru>2022-02-22 15:06:53 +0300
committerdinmukhammed <dinmukhammed@yandex-team.ru>2022-02-22 15:06:53 +0300
commit7d32d59535c3c2cafd4f033fdabfd43b99049a24 (patch)
tree85ea245ea03727761dc440310ecb2cc79376ba15
parentf6b78eb5751d690e47a4d0ec9ee28f44b35cddd8 (diff)
downloadydb-7d32d59535c3c2cafd4f033fdabfd43b99049a24.tar.gz
YQ-866 Save ast and plan even if compilation failed
Save ast and plan ref:6bacf5aa0cf138a98a73e3de261d675f9c90a08c
-rw-r--r--ydb/core/yq/libs/actors/run_actor.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/ydb/core/yq/libs/actors/run_actor.cpp b/ydb/core/yq/libs/actors/run_actor.cpp
index 2643150d88..eb374c6622 100644
--- a/ydb/core/yq/libs/actors/run_actor.cpp
+++ b/ydb/core/yq/libs/actors/run_actor.cpp
@@ -480,10 +480,7 @@ private:
return count;
}
- void PrepareGraphs() {
- if (AbortOnExceedingDqGraphsLimits()) {
- return;
- }
+ void UpdateAstAndPlan() {
Yq::Private::PingTaskRequest request;
TStringStream exprOut;
@@ -493,6 +490,16 @@ private:
request.set_ast(exprOut.Str());
request.set_plan(planStr);
+ Send(Pinger, new TEvents::TEvForwardPingRequest(request));
+ }
+
+ void PrepareGraphs() {
+ if (AbortOnExceedingDqGraphsLimits()) {
+ return;
+ }
+
+ Yq::Private::PingTaskRequest request;
+
request.set_result_set_count(UpdateResultIndices());
QueryStateUpdateRequest.set_result_set_count(UpdateResultIndices());
for (const auto& graphParams : DqGraphParams) {
@@ -1206,6 +1213,8 @@ private:
Issues.AddIssue(ExceptionToIssue(err));
}
+ UpdateAstAndPlan();
+
if (status == TProgram::TStatus::Ok || (DqGraphParams.size() > 0 && !DqGraphParams[0].GetResultType())) {
PrepareGraphs();
} else {