diff options
| author | achains <[email protected]> | 2025-12-12 11:12:23 +0300 |
|---|---|---|
| committer | achains <[email protected]> | 2025-12-12 11:27:31 +0300 |
| commit | 3bd4aa5fcb0f9a73ef9fcc548c26a0aa81011981 (patch) | |
| tree | 59278b0d6fe997b5caa3ad0e2a83b9b99cd70714 /yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp | |
| parent | 485533da7c2417a6cc55d65af62740ff85a109a5 (diff) | |
YT-26906: start session from tx
* Changelog entry
Type: feature
Component: cpp-sdk
Start distributed session methods (file/table) now support attaching to transaction.
commit_hash:0a40dfd6d556f9890fa5abccf29c0baf33df4e7d
Diffstat (limited to 'yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp')
| -rw-r--r-- | yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp b/yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp index 0963200dc66..bf6b19e4229 100644 --- a/yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp +++ b/yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp @@ -841,6 +841,50 @@ TNode SerializeParamsForAlterTable( return result; } +void SetBasicDistributedStartParams( + TNode& result, + const TTransactionId& transactionId, + const TRichYPath& richPath, + i64 cookieCount) +{ + SetTransactionIdParam(&result, transactionId); + + result["path"] = PathToNode(richPath); + result["cookie_count"] = cookieCount; +} + +TNode SerializeParamsForStartDistributedFileSession( + const TTransactionId& transactionId, + const TRichYPath& richPath, + i64 cookieCount, + const TStartDistributedWriteFileOptions& options) +{ + TNode result; + SetBasicDistributedStartParams(result, transactionId, richPath, cookieCount); + + if (options.Timeout_) { + result["timeout"] = static_cast<i64>(options.Timeout_->MilliSeconds()); + } + + return result; +} + +TNode SerializeParamsForStartDistributedTableSession( + const TTransactionId& transactionId, + const TRichYPath& richPath, + i64 cookieCount, + const TStartDistributedWriteTableOptions& options) +{ + TNode result; + SetBasicDistributedStartParams(result, transactionId, richPath, cookieCount); + + if (options.Timeout_) { + result["timeout"] = static_cast<i64>(options.Timeout_->MilliSeconds()); + } + + return result; +} + TNode SerializeParamsForGetTableColumnarStatistics( const TTransactionId& transactionId, const TVector<TRichYPath>& paths, |
