aboutsummaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/http/retry_request.cpp
diff options
context:
space:
mode:
authorVitaly Isaev <vitalyisaev@ydb.tech>2024-12-12 15:39:00 +0000
committerVitaly Isaev <vitalyisaev@ydb.tech>2024-12-12 15:39:00 +0000
commit827b115675004838023427572a7c69f40a86a80a (patch)
treee99c953fe494b9de8d8597a15859d77c81f118c7 /yt/cpp/mapreduce/http/retry_request.cpp
parent42701242eaf5be980cb935631586d0e90b82641c (diff)
parentfab222fd8176d00eee5ddafc6bce8cb95a6e3ab0 (diff)
downloadydb-827b115675004838023427572a7c69f40a86a80a.tar.gz
Merge branch 'rightlib' into rightlib_20241212
Diffstat (limited to 'yt/cpp/mapreduce/http/retry_request.cpp')
-rw-r--r--yt/cpp/mapreduce/http/retry_request.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/yt/cpp/mapreduce/http/retry_request.cpp b/yt/cpp/mapreduce/http/retry_request.cpp
index 0c719eeda3..3330cf696c 100644
--- a/yt/cpp/mapreduce/http/retry_request.cpp
+++ b/yt/cpp/mapreduce/http/retry_request.cpp
@@ -49,6 +49,7 @@ static TResponseInfo Request(
TResponseInfo RequestWithoutRetry(
const TClientContext& context,
+ TMutationId& mutationId,
THttpHeader& header,
TMaybe<TStringBuf> body,
const TRequestConfig& config)
@@ -64,8 +65,13 @@ TResponseInfo RequestWithoutRetry(
}
if (header.HasMutationId()) {
- header.RemoveParameter("retry");
- header.AddMutationId();
+ if (mutationId.IsEmpty()) {
+ header.RemoveParameter("retry");
+ mutationId = header.AddMutationId();
+ } else {
+ header.AddParameter("retry", true, /* overwrite */ true);
+ header.SetMutationId(mutationId);
+ }
}
auto requestId = CreateGuidAsString();
return Request(context, header, body, requestId, config);