summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/client/abortable_registry.cpp
diff options
context:
space:
mode:
authorhiddenpath <[email protected]>2024-12-18 17:25:58 +0300
committerhiddenpath <[email protected]>2024-12-18 17:44:47 +0300
commit492fb432bf89c4b16548b9cc215d0cb4e39c7b83 (patch)
tree7da4b45be23fcceeb5ea7ddc2cd962dd74a6c42c /yt/cpp/mapreduce/client/abortable_registry.cpp
parentda0030f3cb73ddbbfc27f8dc404ba382b32bd60d (diff)
[yt/cpp/mapreduce] YT-23616: Move Transaction, Misc, Table methods to THttpRawClient
commit_hash:a08daac218b8d8bbd805220429b62f2284ad094f
Diffstat (limited to 'yt/cpp/mapreduce/client/abortable_registry.cpp')
-rw-r--r--yt/cpp/mapreduce/client/abortable_registry.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/yt/cpp/mapreduce/client/abortable_registry.cpp b/yt/cpp/mapreduce/client/abortable_registry.cpp
index 91308cba057..2150398aa95 100644
--- a/yt/cpp/mapreduce/client/abortable_registry.cpp
+++ b/yt/cpp/mapreduce/client/abortable_registry.cpp
@@ -11,21 +11,26 @@
#include <util/generic/singleton.h>
-namespace NYT {
-namespace NDetail {
-
-using namespace NRawClient;
+namespace NYT::NDetail {
////////////////////////////////////////////////////////////////////////////////
-TTransactionAbortable::TTransactionAbortable(const TClientContext& context, const TTransactionId& transactionId)
- : Context_(context)
+TTransactionAbortable::TTransactionAbortable(
+ const IRawClientPtr& rawClient,
+ const TClientContext& context,
+ const TTransactionId& transactionId)
+ : RawClient_(rawClient)
+ , Context_(context)
, TransactionId_(transactionId)
{ }
void TTransactionAbortable::Abort()
{
- AbortTransaction(nullptr, Context_, TransactionId_);
+ RequestWithRetry<void>(
+ CreateDefaultRequestRetryPolicy(Context_.Config),
+ [this] (TMutationId& mutationId) {
+ RawClient_->AbortTransaction(mutationId, TransactionId_);
+ });
}
TString TTransactionAbortable::GetType() const
@@ -131,5 +136,4 @@ private:
////////////////////////////////////////////////////////////////////////////////
-} // namespace NDetail
-} // namespace NYT
+} // namespace NYT::NDetail