diff options
| author | max42 <[email protected]> | 2023-06-30 11:13:34 +0300 |
|---|---|---|
| committer | max42 <[email protected]> | 2023-06-30 11:13:34 +0300 |
| commit | 3e1899838408bbad47622007aa382bc8a2b01f87 (patch) | |
| tree | 0f21c1e6add187ddb6c3ccc048a7d640ce03fb87 /yt/cpp/mapreduce/http/retry_request.cpp | |
| parent | 5463eb3f5e72a86f858a3d27c886470a724ede34 (diff) | |
Revert "YT-19324: move YT provider to ydb/library/yql"
This reverts commit ca272f12fdd0e8d5c3e957fc87939148f1caaf72, reversing
changes made to 49f8acfc8b0b5c0071b804423bcf53fda26c7c12.
Diffstat (limited to 'yt/cpp/mapreduce/http/retry_request.cpp')
| -rw-r--r-- | yt/cpp/mapreduce/http/retry_request.cpp | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/yt/cpp/mapreduce/http/retry_request.cpp b/yt/cpp/mapreduce/http/retry_request.cpp deleted file mode 100644 index ba116edcf7a..00000000000 --- a/yt/cpp/mapreduce/http/retry_request.cpp +++ /dev/null @@ -1,149 +0,0 @@ -#include "retry_request.h" - -#include "context.h" -#include "helpers.h" -#include "http_client.h" -#include "requests.h" - -#include <yt/cpp/mapreduce/common/wait_proxy.h> -#include <yt/cpp/mapreduce/common/retry_lib.h> - -#include <yt/cpp/mapreduce/interface/config.h> -#include <yt/cpp/mapreduce/interface/tvm.h> - -#include <yt/cpp/mapreduce/interface/logging/yt_log.h> - -#include <library/cpp/yson/node/node_io.h> - -namespace NYT { -namespace NDetail { - -/////////////////////////////////////////////////////////////////////////////// - -static TResponseInfo Request( - const TClientContext& context, - THttpHeader& header, - TMaybe<TStringBuf> body, - const TString& requestId, - const TRequestConfig& config) -{ - TString hostName; - if (config.IsHeavy) { - hostName = GetProxyForHeavyRequest(context); - } else { - hostName = context.ServerName; - } - - auto url = GetFullUrl(hostName, context, header); - - auto response = context.HttpClient->Request(url, requestId, config.HttpConfig, header, body); - - TResponseInfo result; - result.RequestId = requestId; - result.Response = response->GetResponse(); - result.HttpCode = response->GetStatusCode(); - return result; -} - -TResponseInfo RequestWithoutRetry( - const TClientContext& context, - THttpHeader& header, - TMaybe<TStringBuf> body, - const TRequestConfig& config) -{ - if (context.ServiceTicketAuth) { - header.SetServiceTicket(context.ServiceTicketAuth->Ptr->IssueServiceTicket()); - } else { - header.SetToken(context.Token); - } - - if (context.ImpersonationUser) { - header.SetImpersonationUser(*context.ImpersonationUser); - } - - if (header.HasMutationId()) { - header.RemoveParameter("retry"); - header.AddMutationId(); - } - auto requestId = CreateGuidAsString(); - return Request(context, header, body, requestId, config); -} - - -TResponseInfo RetryRequestWithPolicy( - IRequestRetryPolicyPtr retryPolicy, - const TClientContext& context, - THttpHeader& header, - TMaybe<TStringBuf> body, - const TRequestConfig& config) -{ - if (context.ServiceTicketAuth) { - header.SetServiceTicket(context.ServiceTicketAuth->Ptr->IssueServiceTicket()); - } else { - header.SetToken(context.Token); - } - - if (context.ImpersonationUser) { - header.SetImpersonationUser(*context.ImpersonationUser); - } - - bool useMutationId = header.HasMutationId(); - bool retryWithSameMutationId = false; - - if (!retryPolicy) { - retryPolicy = CreateDefaultRequestRetryPolicy(context.Config); - } - - while (true) { - auto requestId = CreateGuidAsString(); - try { - retryPolicy->NotifyNewAttempt(); - - if (useMutationId) { - if (retryWithSameMutationId) { - header.AddParameter("retry", true, /* overwrite = */ true); - } else { - header.RemoveParameter("retry"); - header.AddMutationId(); - } - } - - return Request(context, header, body, requestId, config); - } catch (const TErrorResponse& e) { - LogRequestError(requestId, header, e.GetError().GetMessage(), retryPolicy->GetAttemptDescription()); - retryWithSameMutationId = e.IsTransportError(); - - if (!IsRetriable(e)) { - throw; - } - - auto maybeRetryTimeout = retryPolicy->OnRetriableError(e); - if (maybeRetryTimeout) { - TWaitProxy::Get()->Sleep(*maybeRetryTimeout); - } else { - throw; - } - } catch (const std::exception& e) { - LogRequestError(requestId, header, e.what(), retryPolicy->GetAttemptDescription()); - retryWithSameMutationId = true; - - if (!IsRetriable(e)) { - throw; - } - - auto maybeRetryTimeout = retryPolicy->OnGenericError(e); - if (maybeRetryTimeout) { - TWaitProxy::Get()->Sleep(*maybeRetryTimeout); - } else { - throw; - } - } - } - - Y_FAIL("Retries must have either succeeded or thrown an exception"); -} - -/////////////////////////////////////////////////////////////////////////////// - -} // namespace NDetail -} // namespace NYT |
