summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/http/retry_request.cpp
diff options
context:
space:
mode:
authormax42 <[email protected]>2023-06-30 11:13:34 +0300
committermax42 <[email protected]>2023-06-30 11:13:34 +0300
commit3e1899838408bbad47622007aa382bc8a2b01f87 (patch)
tree0f21c1e6add187ddb6c3ccc048a7d640ce03fb87 /yt/cpp/mapreduce/http/retry_request.cpp
parent5463eb3f5e72a86f858a3d27c886470a724ede34 (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.cpp149
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