aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhor911 <hor911@ydb.tech>2022-08-27 11:36:07 +0300
committerhor911 <hor911@ydb.tech>2022-08-27 11:36:07 +0300
commit4b61f27b7158799c83020d55d8c1bf6c177774e1 (patch)
tree535af0b6dc70bfbe85ca534d25bdda4753df9f10
parent4dbabc23865ff97e927ec7ed85951578b160377a (diff)
downloadydb-4b61f27b7158799c83020d55d8c1bf6c177774e1.tar.gz
Make all issues transient on retry
-rw-r--r--ydb/core/yq/libs/control_plane_storage/internal/task_ping.cpp27
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) {