aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhor911 <hor911@ydb.tech>2023-02-23 12:37:45 +0300
committerhor911 <hor911@ydb.tech>2023-02-23 12:37:45 +0300
commit73dbf37dfe3ffaf8923d0ce1f89c0b00148345fb (patch)
tree896543a6f2777c620a1a126eeb740feeba2ff382
parent2c97e0c9e48d56f449a3abea7594e3655636c39d (diff)
downloadydb-73dbf37dfe3ffaf8923d0ce1f89c0b00148345fb.tar.gz
Fix transport failure retries
В предыдущей серии я упорядочивал обработку ошибок. Починил кейс когда нет транспортных ошибок, есть ошибка HTTP и Content-Length: 0. Но при этом отломал обработку случая когда есть транспортные ошибки. Они перестали ретраиться. Здесь я это чиню.
-rw-r--r--ydb/library/yql/providers/common/http_gateway/yql_http_gateway.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/ydb/library/yql/providers/common/http_gateway/yql_http_gateway.cpp b/ydb/library/yql/providers/common/http_gateway/yql_http_gateway.cpp
index 95b26e9219..6e140a1eeb 100644
--- a/ydb/library/yql/providers/common/http_gateway/yql_http_gateway.cpp
+++ b/ydb/library/yql/providers/common/http_gateway/yql_http_gateway.cpp
@@ -419,13 +419,11 @@ private:
}
void Done(CURLcode result, long httpResponseCode) final {
+ HttpResponseCode = httpResponseCode;
+ OnStart(HttpResponseCode);
if (CURLE_OK != result) {
return Fail(TIssue(TStringBuilder{} << "error: " << curl_easy_strerror(result) << " detailed: " << GetDetailedErrorText()));
}
- if (!HttpResponseCode) {
- HttpResponseCode = httpResponseCode;
- OnStart(HttpResponseCode);
- }
if (!Cancelled)
OnFinish(TIssues());
}