summaryrefslogtreecommitdiffstats
path: root/yt/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'yt/cpp')
-rw-r--r--yt/cpp/mapreduce/client/client.cpp4
-rw-r--r--yt/cpp/mapreduce/client/client.h2
-rw-r--r--yt/cpp/mapreduce/client/transaction.cpp10
-rw-r--r--yt/cpp/mapreduce/client/transaction.h4
-rw-r--r--yt/cpp/mapreduce/interface/client.h2
-rw-r--r--yt/cpp/mapreduce/interface/fwd.h2
6 files changed, 13 insertions, 11 deletions
diff --git a/yt/cpp/mapreduce/client/client.cpp b/yt/cpp/mapreduce/client/client.cpp
index 4d03ee0b1f8..995f7304af6 100644
--- a/yt/cpp/mapreduce/client/client.cpp
+++ b/yt/cpp/mapreduce/client/client.cpp
@@ -1195,9 +1195,9 @@ void TTransaction::Unlock(
});
}
-void TTransaction::Commit()
+void TTransaction::Commit(const TCommitTransactionOptions& options)
{
- PingableTx_->Commit();
+ PingableTx_->Commit(options);
}
void TTransaction::Abort()
diff --git a/yt/cpp/mapreduce/client/client.h b/yt/cpp/mapreduce/client/client.h
index 32ab01a917f..edde5ab5ab9 100644
--- a/yt/cpp/mapreduce/client/client.h
+++ b/yt/cpp/mapreduce/client/client.h
@@ -367,7 +367,7 @@ public:
const TYPath& path,
const TUnlockOptions& options) override;
- void Commit() override;
+ void Commit(const TCommitTransactionOptions& options = {}) override;
void Abort() override;
diff --git a/yt/cpp/mapreduce/client/transaction.cpp b/yt/cpp/mapreduce/client/transaction.cpp
index 289c89340e6..9790f8c8807 100644
--- a/yt/cpp/mapreduce/client/transaction.cpp
+++ b/yt/cpp/mapreduce/client/transaction.cpp
@@ -129,9 +129,9 @@ void TPingableTransaction::Ping() const
RawClient_->PingTransaction(TransactionId_);
}
-void TPingableTransaction::Commit()
+void TPingableTransaction::Commit(const TCommitTransactionOptions& options)
{
- Stop(EStopAction::Commit);
+ Stop(EStopAction::Commit, options);
}
void TPingableTransaction::Abort()
@@ -144,7 +144,7 @@ void TPingableTransaction::Detach()
Stop(EStopAction::Detach);
}
-void TPingableTransaction::Stop(EStopAction action)
+void TPingableTransaction::Stop(EStopAction action, const TCommitTransactionOptions& commitOptions)
{
if (Finalized_) {
return;
@@ -161,8 +161,8 @@ void TPingableTransaction::Stop(EStopAction action)
case EStopAction::Commit:
NDetail::RequestWithRetry<void>(
ClientRetryPolicy_->CreatePolicyForGenericRequest(),
- [this] (TMutationId& mutationId) {
- RawClient_->CommitTransaction(mutationId, TransactionId_);
+ [this, &commitOptions] (TMutationId& mutationId) {
+ RawClient_->CommitTransaction(mutationId, TransactionId_, commitOptions);
});
break;
case EStopAction::Abort:
diff --git a/yt/cpp/mapreduce/client/transaction.h b/yt/cpp/mapreduce/client/transaction.h
index d1a5109c3f0..55f78c6fba1 100644
--- a/yt/cpp/mapreduce/client/transaction.h
+++ b/yt/cpp/mapreduce/client/transaction.h
@@ -45,7 +45,7 @@ public:
const TClientContext GetContext() const;
void Ping() const;
- void Commit();
+ void Commit(const TCommitTransactionOptions& options = {});
void Abort();
void Detach();
@@ -83,7 +83,7 @@ private:
const TTransactionId& transactionId,
TDuration timeout);
- void Stop(EStopAction action);
+ void Stop(EStopAction action, const TCommitTransactionOptions& commitOptions = {});
};
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/cpp/mapreduce/interface/client.h b/yt/cpp/mapreduce/interface/client.h
index 2c0dae7eabd..208ed095d6e 100644
--- a/yt/cpp/mapreduce/interface/client.h
+++ b/yt/cpp/mapreduce/interface/client.h
@@ -249,7 +249,7 @@ public:
/// All changes that are made by transactions become visible globally or to parent transaction.
///
/// @see [YT doc](https://ytsaurus.tech/docs/en/api/commands.html#commit_tx)
- virtual void Commit() = 0;
+ virtual void Commit(const TCommitTransactionOptions& options = {}) = 0;
///
/// @brief Abort transaction.
diff --git a/yt/cpp/mapreduce/interface/fwd.h b/yt/cpp/mapreduce/interface/fwd.h
index bdc4c2279d9..adef184c1aa 100644
--- a/yt/cpp/mapreduce/interface/fwd.h
+++ b/yt/cpp/mapreduce/interface/fwd.h
@@ -33,6 +33,8 @@ namespace NYT {
struct TStartTransactionOptions;
+ struct TCommitTransactionOptions;
+
struct TLockOptions;
template <class TDerived>