summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/interface
diff options
context:
space:
mode:
authormaybenotilya <[email protected]>2026-05-20 11:52:31 +0300
committermaybenotilya <[email protected]>2026-05-20 12:55:06 +0300
commitf435c8b2b1cd55fcd478711b06415706e4aa2c87 (patch)
tree6190ecc7077f10374e97754b61990a46a8f86e12 /yt/cpp/mapreduce/interface
parente38316cbd79d3392e61ea64e479c45e2fddf8004 (diff)
YT-27970: Multiplexing for RPC requests
* Changelog entry Type: fix Component: cpp-sdk Mark light and heavy RPC requests with different multiplexing bands. Only for PingTransaction for now commit_hash:9177c1e3811a5108933a87dd3f241d235490ce2d
Diffstat (limited to 'yt/cpp/mapreduce/interface')
-rw-r--r--yt/cpp/mapreduce/interface/config.cpp2
-rw-r--r--yt/cpp/mapreduce/interface/config.h6
2 files changed, 8 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/interface/config.cpp b/yt/cpp/mapreduce/interface/config.cpp
index 8399ed042c1..e222e35c723 100644
--- a/yt/cpp/mapreduce/interface/config.cpp
+++ b/yt/cpp/mapreduce/interface/config.cpp
@@ -477,6 +477,7 @@ void Serialize(const TConfig& config, NYson::IYsonConsumer* consumer)
.Item("enable_debug_command_line_arguments").Value(config.EnableDebugCommandLineArguments)
.Item("config_remote_patch_path").Value(config.ConfigRemotePatchPath)
.Item("enable_client_tracing").Value(config.EnableClientTracing)
+ .Item("enable_multiplexing_band").Value(config.EnableControlMultiplexingBand)
.EndMap();
}
@@ -549,6 +550,7 @@ void Deserialize(TConfig& config, const TNode& node)
DESERIALIZE_ITEM("enable_debug_command_line_arguments", config.EnableDebugCommandLineArguments);
DESERIALIZE_ITEM("config_remote_patch_path", config.ConfigRemotePatchPath);
DESERIALIZE_ITEM("enable_client_tracing", config.EnableClientTracing);
+ DESERIALIZE_ITEM("enable_multiplexing_band", config.EnableControlMultiplexingBand);
}
#undef DESERIALIZE_ITEM
diff --git a/yt/cpp/mapreduce/interface/config.h b/yt/cpp/mapreduce/interface/config.h
index a2c3f9fdde8..03c0cd53fee 100644
--- a/yt/cpp/mapreduce/interface/config.h
+++ b/yt/cpp/mapreduce/interface/config.h
@@ -294,6 +294,12 @@ struct TConfig
/// Allow to create trace_id on client side and propogate with request
bool EnableClientTracing = true;
+ /// Use a separate connection for lightweight control requests.
+ /// If this option is set to true, a separate connection is opened for lightweight requests (for example, ping_transaction).
+ /// This is needed so that important lightweight requests do not wait for heavy requests, such as file writes, to complete.
+ /// However, using this option increases the number of open TCP connections.
+ bool EnableControlMultiplexingBand = false;
+
static bool GetBool(const char* var, bool defaultValue = false);
static int GetInt(const char* var, int defaultValue);
static TDuration GetDuration(const char* var, TDuration defaultValue);