aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitalii Gridnev <gridnevvvit@gmail.com>2024-04-03 11:33:38 +0300
committerGitHub <noreply@github.com>2024-04-03 11:33:38 +0300
commit961316eac435f6f47b961538a2680451189ed4c0 (patch)
tree933762719a16f1c8a011e3762880513e719f3b5b
parent0776526d4a0154c99691fc20c34cadc3bfbf354d (diff)
downloadydb-961316eac435f6f47b961538a2680451189ed4c0.tar.gz
limit retries in starting state (#3394)
-rw-r--r--ydb/core/kqp/compute_actor/kqp_scan_fetcher_actor.cpp8
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);
}