diff options
author | hor911 <hor911@ydb.tech> | 2022-08-27 11:36:07 +0300 |
---|---|---|
committer | hor911 <hor911@ydb.tech> | 2022-08-27 11:36:07 +0300 |
commit | 4b61f27b7158799c83020d55d8c1bf6c177774e1 (patch) | |
tree | 535af0b6dc70bfbe85ca534d25bdda4753df9f10 | |
parent | 4dbabc23865ff97e927ec7ed85951578b160377a (diff) | |
download | ydb-4b61f27b7158799c83020d55d8c1bf6c177774e1.tar.gz |
Make all issues transient on retry
-rw-r--r-- | ydb/core/yq/libs/control_plane_storage/internal/task_ping.cpp | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/ydb/core/yq/libs/control_plane_storage/internal/task_ping.cpp b/ydb/core/yq/libs/control_plane_storage/internal/task_ping.cpp index 41473835ed4..7b88e3bc2a8 100644 --- a/ydb/core/yq/libs/control_plane_storage/internal/task_ping.cpp +++ b/ydb/core/yq/libs/control_plane_storage/internal/task_ping.cpp @@ -128,21 +128,30 @@ std::tuple<TString, TParams, const std::function<std::pair<TString, NYdb::TParam // failing query is throttled for backoff period backoff = policy.BackoffPeriod * retryLimiter.RetryRate; owner = ""; + if (!transientIssues) { + transientIssues.ConstructInPlace(); + } + TStringBuilder builder; + builder << "Query failed with code " << NYql::NDqProto::StatusIds_StatusCode_Name(request.status_code()) + << " and will be restarted (RetryCount: " << retryLimiter.RetryCount << ")" + << " at " << Now(); + transientIssues->AddIssue(NYql::TIssue(builder)); } else { // failure query should be processed instantly queryStatus = YandexQuery::QueryMeta::FAILING; backoff = TDuration::Zero(); - // all transient issues became final - if (transientIssues) { - if (issues) { - issues->AddIssues(*transientIssues); - transientIssues.Clear(); - } else { - issues.Swap(transientIssues); - } + if (!issues) { + issues.ConstructInPlace(); + } + TStringBuilder builder; + builder << "Query failed with code " << NYql::NDqProto::StatusIds_StatusCode_Name(request.status_code()); + if (policy.RetryCount) { + builder << " (failure rate " << retryLimiter.RetryRate << " exceeds limit of " << policy.RetryCount << ")"; } + builder << " at " << Now(); + issues->AddIssue(NYql::TIssue(builder)); } - CPS_LOG_AS_T(*actorSystem, "PingTaskRequest (resign): " << (!policyFound ? " DEFAULT POLICY" : "") << (owner ? " FAILURE " : " ") << NYql::NDqProto::StatusIds_StatusCode_Name(request.status_code()) << " " << retryLimiter.RetryCount << " " << retryLimiter.RetryCounterUpdatedAt << " " << backoff); + CPS_LOG_AS_D(*actorSystem, "PingTaskRequest (resign): " << (!policyFound ? " DEFAULT POLICY" : "") << (owner ? " FAILURE " : " ") << NYql::NDqProto::StatusIds_StatusCode_Name(request.status_code()) << " " << retryLimiter.RetryCount << " " << retryLimiter.RetryCounterUpdatedAt << " " << backoff); } if (queryStatus) { |