Skip to content

Commit

Permalink
Restore in-progress stat (in not Ready replies) (ydb-platform#3111)
Browse files Browse the repository at this point in the history
  • Loading branch information
Hor911 committed Mar 25, 2024
1 parent 9749618 commit ff117ec
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 17 deletions.
4 changes: 2 additions & 2 deletions ydb/core/fq/libs/compute/ydb/events/events.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,14 @@ struct TEvYdbCompute {
, Ready(ready)
{}

TEvGetOperationResponse(NYdb::NQuery::EExecStatus execStatus, Ydb::StatusIds::StatusCode statusCode, const TVector<Ydb::Query::ResultSetMeta>& resultSetsMeta, const Ydb::TableStats::QueryStats& queryStats, NYql::TIssues issues)
TEvGetOperationResponse(NYdb::NQuery::EExecStatus execStatus, Ydb::StatusIds::StatusCode statusCode, const TVector<Ydb::Query::ResultSetMeta>& resultSetsMeta, const Ydb::TableStats::QueryStats& queryStats, NYql::TIssues issues, bool ready = true)
: ExecStatus(execStatus)
, StatusCode(statusCode)
, ResultSetsMeta(resultSetsMeta)
, QueryStats(queryStats)
, Issues(std::move(issues))
, Status(NYdb::EStatus::SUCCESS)
, Ready(true)
, Ready(ready)
{}

NYdb::NQuery::EExecStatus ExecStatus = NYdb::NQuery::EExecStatus::Unspecified;
Expand Down
6 changes: 0 additions & 6 deletions ydb/core/fq/libs/compute/ydb/status_tracker_actor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,6 @@ class TStatusTrackerActor : public TBaseComputeActor<TStatusTrackerActor> {
void Handle(const TEvYdbCompute::TEvGetOperationResponse::TPtr& ev) {
const auto& response = *ev.Get()->Get();

if (response.Status == NYdb::EStatus::SUCCESS && !response.Ready) {
LOG_D("GetOperation IS NOT READY, repeating");
SendGetOperation(TDuration::MilliSeconds(BackoffTimer.NextBackoffMs()));
return;
}

if (response.Status == NYdb::EStatus::NOT_FOUND) { // FAILING / ABORTING_BY_USER / ABORTING_BY_SYSTEM
LOG_I("Operation has been already removed");
Send(Parent, new TEvYdbCompute::TEvStatusTrackerResponse(response.Issues, response.Status, ExecStatus, ComputeStatus));
Expand Down
18 changes: 9 additions & 9 deletions ydb/core/fq/libs/compute/ydb/ydb_connector_actor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,17 +86,17 @@ class TYdbConnectorActor : public NActors::TActorBootstrapped<TYdbConnectorActor
.Apply([actorSystem = NActors::TActivationContext::ActorSystem(), recipient = ev->Sender, cookie = ev->Cookie, database = ComputeConnection.database()](auto future) {
try {
auto response = future.ExtractValueSync();
if (!response.Ready()) {
if (response.Id().GetKind() != Ydb::TOperationId::UNUSED) {
actorSystem->Send(
recipient,
MakeResponse<TEvYdbCompute::TEvGetOperationResponse>(
database,
response.Status().GetIssues(),
response.Status().GetStatus(),
false),
recipient,
new TEvYdbCompute::TEvGetOperationResponse(
response.Metadata().ExecStatus,
static_cast<Ydb::StatusIds::StatusCode>(response.Status().GetStatus()),
response.Metadata().ResultSetsMeta,
response.Metadata().ExecStats,
RemoveDatabaseFromIssues(response.Status().GetIssues(), database),
response.Ready()),
0, cookie);
} else if (response.Id().GetKind() != Ydb::TOperationId::UNUSED) {
actorSystem->Send(recipient, new TEvYdbCompute::TEvGetOperationResponse(response.Metadata().ExecStatus, static_cast<Ydb::StatusIds::StatusCode>(response.Status().GetStatus()), response.Metadata().ResultSetsMeta, response.Metadata().ExecStats, RemoveDatabaseFromIssues(response.Status().GetIssues(), database)), 0, cookie);
} else {
actorSystem->Send(
recipient,
Expand Down
1 change: 1 addition & 0 deletions ydb/core/kqp/proxy_service/kqp_script_executions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1289,6 +1289,7 @@ class TGetScriptExecutionOperationActor : public TCheckLeaseStatusActorBase {
Response->Get()->Ready = false;
Response->Get()->Status = Ydb::StatusIds::SUCCESS;
Response->Get()->Issues.Clear();
Response->Get()->Metadata.set_exec_status(Ydb::Query::ExecStatus::EXEC_STATUS_UNSPECIFIED);
} else {
Response->Get()->Ready = true;
Response->Get()->Status = GetOperationStatus();
Expand Down

0 comments on commit ff117ec

Please sign in to comment.