diff options
author | yuryalekseev <yuryalekseev@yandex-team.com> | 2023-03-10 09:19:48 +0300 |
---|---|---|
committer | yuryalekseev <yuryalekseev@yandex-team.com> | 2023-03-10 09:19:48 +0300 |
commit | 82ad7fa64a7e511763a6f6a0278d4eed1b01b96e (patch) | |
tree | 89b3188c3ad1b8e14411aa266925c022f961c460 | |
parent | 922de8a8677ead7127d26aea97598e786fac2398 (diff) | |
download | ydb-82ad7fa64a7e511763a6f6a0278d4eed1b01b96e.tar.gz |
Add errors count to TKqpReadActor.
-rw-r--r-- | ydb/core/kqp/runtime/kqp_read_actor.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ydb/core/kqp/runtime/kqp_read_actor.cpp b/ydb/core/kqp/runtime/kqp_read_actor.cpp index 101ab5dcdbc..8ab19ba2e9f 100644 --- a/ydb/core/kqp/runtime/kqp_read_actor.cpp +++ b/ydb/core/kqp/runtime/kqp_read_actor.cpp @@ -871,17 +871,21 @@ public: case Ydb::StatusIds::SUCCESS: break; case Ydb::StatusIds::OVERLOADED: { + ++ErrorsCount; return RetryRead(id, false); } case Ydb::StatusIds::INTERNAL_ERROR: { + ++ErrorsCount; return RetryRead(id); } case Ydb::StatusIds::NOT_FOUND: { + ++ErrorsCount; auto shard = Reads[id].Shard; ResetRead(id); return ResolveShard(shard); } default: { + ++ErrorsCount; NYql::TIssues issues; NYql::IssuesFromMessage(record.GetStatus().GetIssues(), issues); return RuntimeError("Read request aborted", NYql::NDqProto::StatusIds::ABORTED, issues); @@ -918,6 +922,8 @@ public: void HandleError(TEvPipeCache::TEvDeliveryProblem::TPtr& ev) { auto& msg = *ev->Get(); + ++ErrorsCount; + TVector<ui32> reads; reads.swap(ReadIdByTabletId[msg.TabletId]); for (auto read : reads) { @@ -1191,6 +1197,8 @@ public: void FillExtraStats(NDqProto::TDqTaskStats* stats, bool last) override { if (last) { + stats->SetErrorsCount(ErrorsCount); + NDqProto::TDqTableStats* tableStats = nullptr; for (size_t i = 0; i < stats->TablesSize(); ++i) { auto* table = stats->MutableTables(i); @@ -1308,6 +1316,8 @@ private: bool ScanStarted = false; size_t BufSize = 0; + ui32 ErrorsCount = 0; + const TActorId ComputeActorId; const ui64 InputIndex; const NMiniKQL::TTypeEnvironment& TypeEnv; |