summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhiddenpath <[email protected]>2025-05-27 15:42:48 +0300
committerhiddenpath <[email protected]>2025-05-27 16:00:53 +0300
commitb63664175ad2225afade783d34b7bd3d20286a0d (patch)
treee7f76c4c37510738a3627a0f503d9f30421c0f12
parentb2a6f21d42984640eed111a1c99ecddb2f7cdeeb (diff)
YT-24245: Add MultiproxyTargetCluster option
commit_hash:4ad0d709eab6a3191e6cccd54f85765ae80cf3b2
-rw-r--r--yt/cpp/mapreduce/client/client.cpp1
-rw-r--r--yt/cpp/mapreduce/http/context.h1
-rw-r--r--yt/cpp/mapreduce/interface/client_method_options.h7
3 files changed, 9 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/client/client.cpp b/yt/cpp/mapreduce/client/client.cpp
index 8977a29b106..067750cd5c4 100644
--- a/yt/cpp/mapreduce/client/client.cpp
+++ b/yt/cpp/mapreduce/client/client.cpp
@@ -1613,6 +1613,7 @@ TClientContext CreateClientContext(
context.TvmOnly = options.TvmOnly_;
context.ProxyAddress = options.ProxyAddress_;
context.UseProxyUnixDomainSocket = options.UseProxyUnixDomainSocket_;
+ context.MultiproxyTargetCluster = options.MultiproxyTargetCluster_;
if (options.UseTLS_) {
context.UseTLS = *options.UseTLS_;
diff --git a/yt/cpp/mapreduce/http/context.h b/yt/cpp/mapreduce/http/context.h
index 85bed9a030a..d5f07ee2283 100644
--- a/yt/cpp/mapreduce/http/context.h
+++ b/yt/cpp/mapreduce/http/context.h
@@ -24,6 +24,7 @@ struct TClientContext
TMaybe<TString> ProxyAddress;
TMaybe<TString> RpcProxyRole;
bool UseProxyUnixDomainSocket = false;
+ TMaybe<TString> MultiproxyTargetCluster;
};
bool operator==(const TClientContext& lhs, const TClientContext& rhs);
diff --git a/yt/cpp/mapreduce/interface/client_method_options.h b/yt/cpp/mapreduce/interface/client_method_options.h
index d43020a9e13..10c200715df 100644
--- a/yt/cpp/mapreduce/interface/client_method_options.h
+++ b/yt/cpp/mapreduce/interface/client_method_options.h
@@ -1136,6 +1136,13 @@ struct TCreateClientOptions
/// @brief Use unix domain socket for connection.
/// Typically you will need this option when the RPC proxy is enabled within the job proxy.
FLUENT_FIELD_DEFAULT(bool, UseProxyUnixDomainSocket, false);
+
+ /// @brief Defines which cluster should handle incoming RPC requests.
+ ///
+ /// @note Multiproxy mode must be activated on the server side.
+ /// This mode allows a proxy from one cluster to forward requests to another.
+ /// Availability and specific usage might vary based on server configuration.
+ FLUENT_FIELD_OPTION(TString, MultiproxyTargetCluster);
};
///