hubcio commented on code in PR #3754:
URL: https://github.com/apache/iggy/pull/3754#discussion_r3657593398
##########
core/server-ng/src/bootstrap.rs:
##########
@@ -2112,31 +2117,52 @@ fn resolve_optional_listener_addr(
Ok(None)
}
+/// Client-facing listener addresses resolved for this cluster node. Each port
+/// comes from the node's roster entry, falling back to the top-level listener
+/// default when the roster leaves it unset.
+struct ClusterClientAddrs {
+ client: SocketAddr,
+ ws: Option<SocketAddr>,
+ quic: Option<SocketAddr>,
+ http: Option<SocketAddr>,
+}
+
fn resolve_cluster_client_addrs(
self_node: &configs::ng_cluster::ClusterNodeConfig,
default_client_addr: SocketAddr,
default_ws_addr: Option<SocketAddr>,
default_quic_addr: Option<SocketAddr>,
-) -> Result<(SocketAddr, Option<SocketAddr>, Option<SocketAddr>),
ServerNgError> {
+ default_http_addr: Option<SocketAddr>,
+) -> Result<ClusterClientAddrs, ServerNgError> {
let client_port = self_node
.ports
.tcp
.unwrap_or_else(|| default_client_addr.port());
- let client_listen_addr =
- socket_addr_from_parts("cluster.nodes[*].ports.tcp", &self_node.ip,
client_port)?;
- let ws_listen_addr = resolve_cluster_optional_addr(
+ let client = socket_addr_from_parts("cluster.nodes[*].ports.tcp",
&self_node.ip, client_port)?;
+ let ws = resolve_cluster_optional_addr(
self_node,
"cluster.nodes[*].ports.websocket",
default_ws_addr,
|ports| ports.websocket,
)?;
- let quic_listen_addr = resolve_cluster_optional_addr(
+ let quic = resolve_cluster_optional_addr(
self_node,
"cluster.nodes[*].ports.quic",
default_quic_addr,
|ports| ports.quic,
)?;
- Ok((client_listen_addr, ws_listen_addr, quic_listen_addr))
+ let http = resolve_cluster_optional_addr(
+ self_node,
+ "cluster.nodes[*].ports.http",
+ default_http_addr,
+ |ports| ports.http,
+ )?;
Review Comment:
good catch,cluster now binds config-address ip + roster port; ports
mandatory (fallback removed).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]