-
Notifications
You must be signed in to change notification settings - Fork 647
Wait for all CAs inside Executer before shutdown #7829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
⚪ ⚪
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
LOG_I("aborting compute actor execution, message: " << issues.ToOneLineString() | ||
<< ", compute actor: " << task.ComputeActorId << ", task: " << task.Id); | ||
|
||
auto ev = MakeHolder<TEvKqp::TEvAbortExecution>(NYql::NDq::YdbStatusToDqStatus(code), issues); | ||
this->Send(task.ComputeActorId, ev.Release()); | ||
} else { | ||
LOG_I("task: " << task.Id << ", does not have Compute ActorId yet"); | ||
LOG_I("task: " << task.Id << ", does not have the CA id yet or is already complete"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can add checks here also and write more explicit message, is it already completed or CA id is not known.
runtime.SetObserverFunc([&](TAutoPtr<IEventHandle>& ev) { | ||
if (ev->GetTypeRewrite() == NYql::NDq::TEvDqCompute::TEvState::EventType) { | ||
++totalEvState; | ||
if (!firstEvState) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on test description I would expect that firstEvState
is true and after this event it becomes false.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably the variable name is too vague - firstEvState
indicates if we already encountered the first event State
, so we replace only the first one.
(cherry picked from commit fe50fe3)
Changelog entry
Implement additional state for TKqpDataExecuter in which it will wait for all children Compute Actors for graceful shutdown.
Also Executer will respect node disconnects and timeouts - to not hang on waiting forever.
Changelog category