diff options
author | Vitalii Gridnev <gridnevvvit@gmail.com> | 2024-04-03 11:33:38 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-03 11:33:38 +0300 |
commit | 961316eac435f6f47b961538a2680451189ed4c0 (patch) | |
tree | 933762719a16f1c8a011e3762880513e719f3b5b | |
parent | 0776526d4a0154c99691fc20c34cadc3bfbf354d (diff) | |
download | ydb-961316eac435f6f47b961538a2680451189ed4c0.tar.gz |
limit retries in starting state (#3394)
-rw-r--r-- | ydb/core/kqp/compute_actor/kqp_scan_fetcher_actor.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ydb/core/kqp/compute_actor/kqp_scan_fetcher_actor.cpp b/ydb/core/kqp/compute_actor/kqp_scan_fetcher_actor.cpp index 98d978ac8c0..43aabec1a64 100644 --- a/ydb/core/kqp/compute_actor/kqp_scan_fetcher_actor.cpp +++ b/ydb/core/kqp/compute_actor/kqp_scan_fetcher_actor.cpp @@ -155,6 +155,14 @@ void TKqpScanFetcherActor::HandleExecute(TEvKqpCompute::TEvScanError::TPtr& ev) } if (state->State == EShardState::Starting) { + ++TotalRetries; + if (TotalRetries >= MAX_TOTAL_SHARD_RETRIES) { + CA_LOG_E("TKqpScanFetcherActor: broken tablet for this request " << state->TabletId + << ", retries limit exceeded (" << state->TotalRetries << "/" << TotalRetries << ")"); + SendGlobalFail(NDqProto::COMPUTE_STATE_FAILURE, YdbStatusToDqStatus(status), issues); + return PassAway(); + } + if (FindSchemeErrorInIssues(status, issues)) { return EnqueueResolveShard(state); } |