diff options
Diffstat (limited to 'yt/cpp/mapreduce')
| -rw-r--r-- | yt/cpp/mapreduce/client/client.cpp | 4 | ||||
| -rw-r--r-- | yt/cpp/mapreduce/client/client.h | 2 | ||||
| -rw-r--r-- | yt/cpp/mapreduce/client/transaction.cpp | 10 | ||||
| -rw-r--r-- | yt/cpp/mapreduce/client/transaction.h | 4 | ||||
| -rw-r--r-- | yt/cpp/mapreduce/interface/client.h | 2 | ||||
| -rw-r--r-- | yt/cpp/mapreduce/interface/fwd.h | 2 |
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> |
