summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp
diff options
context:
space:
mode:
authorachains <[email protected]>2025-12-12 11:12:23 +0300
committerachains <[email protected]>2025-12-12 11:27:31 +0300
commit3bd4aa5fcb0f9a73ef9fcc548c26a0aa81011981 (patch)
tree59278b0d6fe997b5caa3ad0e2a83b9b99cd70714 /yt/cpp/mapreduce/http_client/rpc_parameters_serialization.cpp
parent485533da7c2417a6cc55d65af62740ff85a109a5 (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.cpp44
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,