This is an automated email from the ASF dual-hosted git repository. numinnex pushed a commit to branch multi_endpoint_failover in repository https://gitbox.apache.org/repos/asf/iggy.git
commit f3ea3f774c12fd653e7ecd7f08710ba7c780761d Author: Grzegorz Koszyk <[email protected]> AuthorDate: Wed Aug 26 15:24:40 2026 +0200 update stale docs --- .../src/types/configuration/tcp_config/tcp_client_config.rs | 12 +++++++----- .../configuration/tcp_config/tcp_client_config_builder.rs | 4 ++-- core/sdk/src/clients/client_builder.rs | 4 ++-- foreign/python/apache_iggy.pyi | 7 ++++--- foreign/python/src/config.rs | 7 ++++--- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/core/common/src/types/configuration/tcp_config/tcp_client_config.rs b/core/common/src/types/configuration/tcp_config/tcp_client_config.rs index 288337af6..9ba32f611 100644 --- a/core/common/src/types/configuration/tcp_config/tcp_client_config.rs +++ b/core/common/src/types/configuration/tcp_config/tcp_client_config.rs @@ -26,11 +26,13 @@ use std::str::FromStr; pub struct TcpClientConfig { /// The address of the Iggy server. pub server_address: String, - /// Addresses of other nodes of the same cluster, dialed in order when - /// `server_address` cannot be reached. The roster the server reports is - /// remembered while the client is connected and dialed first, so these - /// seeds only have to be enough to reach the cluster once -- at the very - /// first connect, when nothing has been learned yet. + /// Addresses of other nodes of the same cluster, dialed when + /// `server_address` cannot be reached. + /// + /// Part of every failover pass, ahead of the roster the client learned while + /// connected, since the caller vouched for these. Before the first connect -- + /// a fresh process included -- they are the only other addresses there are, + /// because reading the roster needs a connection. pub failover_addresses: Vec<String>, /// Whether to use TLS when connecting to the server. pub tls_enabled: bool, diff --git a/core/common/src/types/configuration/tcp_config/tcp_client_config_builder.rs b/core/common/src/types/configuration/tcp_config/tcp_client_config_builder.rs index 08e50a9b6..06dd6ae5d 100644 --- a/core/common/src/types/configuration/tcp_config/tcp_client_config_builder.rs +++ b/core/common/src/types/configuration/tcp_config/tcp_client_config_builder.rs @@ -45,8 +45,8 @@ impl TcpClientConfigBuilder { self } - /// Sets the addresses of other nodes of the same cluster, dialed in order - /// when `server_address` cannot be reached. + /// Sets the addresses of other nodes of the same cluster, dialed when `server_address` + /// cannot be reached, ahead of the roster the client learns while connected. pub fn with_failover_addresses(mut self, failover_addresses: Vec<String>) -> Self { self.config.failover_addresses = failover_addresses; self diff --git a/core/sdk/src/clients/client_builder.rs b/core/sdk/src/clients/client_builder.rs index 5cfa317b4..6177d73ff 100644 --- a/core/sdk/src/clients/client_builder.rs +++ b/core/sdk/src/clients/client_builder.rs @@ -160,8 +160,8 @@ impl TcpClientBuilder { self } - /// Sets the addresses of other nodes of the same cluster, dialed in order - /// when the server address cannot be reached. + /// Sets the addresses of other nodes of the same cluster, dialed when the server address + /// cannot be reached, ahead of the roster the client learns while connected. pub fn with_failover_addresses(mut self, failover_addresses: Vec<String>) -> Self { self.config = self.config.with_failover_addresses(failover_addresses); self diff --git a/foreign/python/apache_iggy.pyi b/foreign/python/apache_iggy.pyi index cf3d847ce..d44435930 100644 --- a/foreign/python/apache_iggy.pyi +++ b/foreign/python/apache_iggy.pyi @@ -1970,9 +1970,10 @@ class TcpConfig: Args: server_address: `host:port` of the Iggy server. Defaults to `127.0.0.1:8090`. failover_addresses: `host:port` of other nodes of the same cluster, dialed - in order when `server_address` cannot be reached. The roster the server - reports is remembered while the client is connected and dialed first, - so these seeds only have to be enough to reach the cluster once. + when `server_address` cannot be reached. Part of every failover pass, + ahead of the roster the client learned while connected, and the only + other addresses it has before its first connect, a fresh process + included, since reading the roster needs a connection. Defaults to none. auto_login: Credentials replayed on every connect. Defaults to `AutoLogin.disabled()`. reconnection: Reconnection policy. Defaults to `TcpReconnectionConfig()`. diff --git a/foreign/python/src/config.rs b/foreign/python/src/config.rs index a132f2878..05d2a7d41 100644 --- a/foreign/python/src/config.rs +++ b/foreign/python/src/config.rs @@ -245,9 +245,10 @@ impl TcpConfig { /// Args: /// server_address: `host:port` of the Iggy server. Defaults to `127.0.0.1:8090`. /// failover_addresses: `host:port` of other nodes of the same cluster, dialed - /// in order when `server_address` cannot be reached. The roster the server - /// reports is remembered while the client is connected and dialed first, - /// so these seeds only have to be enough to reach the cluster once. + /// when `server_address` cannot be reached. Part of every failover pass, + /// ahead of the roster the client learned while connected, and the only + /// other addresses it has before its first connect, a fresh process + /// included, since reading the roster needs a connection. /// Defaults to none. /// auto_login: Credentials replayed on every connect. Defaults to `AutoLogin.disabled()`. /// reconnection: Reconnection policy. Defaults to `TcpReconnectionConfig()`.
