Skip to content

Commit b36c8ac

Browse files
committed
config: pass hostname_resolution_timeout to MetadataReader and PoolConfig
These structs need this context to pass it forward to functions responsible for DNS lookup.
1 parent 5b8074d commit b36c8ac

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

scylla/src/transport/cluster.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ impl Cluster {
155155

156156
let mut metadata_reader = MetadataReader::new(
157157
known_nodes,
158+
pool_config.hostname_resolution_timeout,
158159
control_connection_repair_sender,
159160
pool_config.connection_config.clone(),
160161
pool_config.keepalive_interval,

scylla/src/transport/connection_pool.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ pub(crate) struct PoolConfig {
6060
pub(crate) pool_size: PoolSize,
6161
pub(crate) can_use_shard_aware_port: bool,
6262
pub(crate) keepalive_interval: Option<Duration>,
63+
pub(crate) hostname_resolution_timeout: Option<Duration>,
6364
}
6465

6566
impl Default for PoolConfig {
@@ -69,6 +70,7 @@ impl Default for PoolConfig {
6970
pool_size: Default::default(),
7071
can_use_shard_aware_port: true,
7172
keepalive_interval: None,
73+
hostname_resolution_timeout: None,
7274
}
7375
}
7476
}

scylla/src/transport/session.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,7 @@ impl Session {
549549
pool_size: config.connection_pool_size,
550550
can_use_shard_aware_port: !config.disallow_shard_aware_port,
551551
keepalive_interval: config.keepalive_interval,
552+
hostname_resolution_timeout: config.hostname_resolution_timeout,
552553
};
553554

554555
let cluster = Cluster::new(

scylla/src/transport/topology.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ use super::node::{InternalKnownNode, NodeAddr, ResolvedContactPoint};
3939
pub(crate) struct MetadataReader {
4040
connection_config: ConnectionConfig,
4141
keepalive_interval: Option<Duration>,
42+
hostname_resolution_timeout: Option<Duration>,
4243

4344
control_connection_endpoint: UntranslatedEndpoint,
4445
control_connection: NodeConnectionPool,
@@ -452,6 +453,7 @@ impl MetadataReader {
452453
#[allow(clippy::too_many_arguments)]
453454
pub(crate) async fn new(
454455
initial_known_nodes: Vec<InternalKnownNode>,
456+
hostname_resolution_timeout: Option<Duration>,
455457
control_connection_repair_requester: broadcast::Sender<()>,
456458
mut connection_config: ConnectionConfig,
457459
keepalive_interval: Option<Duration>,
@@ -485,13 +487,15 @@ impl MetadataReader {
485487
control_connection_endpoint.clone(),
486488
connection_config.clone(),
487489
keepalive_interval,
490+
hostname_resolution_timeout,
488491
control_connection_repair_requester.clone(),
489492
);
490493

491494
Ok(MetadataReader {
492495
control_connection_endpoint,
493496
control_connection,
494497
keepalive_interval,
498+
hostname_resolution_timeout,
495499
connection_config,
496500
known_peers: initial_peers
497501
.into_iter()
@@ -612,6 +616,7 @@ impl MetadataReader {
612616
self.control_connection_endpoint.clone(),
613617
self.connection_config.clone(),
614618
self.keepalive_interval,
619+
self.hostname_resolution_timeout,
615620
self.control_connection_repair_requester.clone(),
616621
);
617622

@@ -712,6 +717,7 @@ impl MetadataReader {
712717
self.control_connection_endpoint.clone(),
713718
self.connection_config.clone(),
714719
self.keepalive_interval,
720+
self.hostname_resolution_timeout,
715721
self.control_connection_repair_requester.clone(),
716722
);
717723
}
@@ -723,11 +729,13 @@ impl MetadataReader {
723729
endpoint: UntranslatedEndpoint,
724730
connection_config: ConnectionConfig,
725731
keepalive_interval: Option<Duration>,
732+
hostname_resolution_timeout: Option<Duration>,
726733
refresh_requester: broadcast::Sender<()>,
727734
) -> NodeConnectionPool {
728735
let pool_config = PoolConfig {
729736
connection_config,
730737
keepalive_interval,
738+
hostname_resolution_timeout,
731739

732740
// We want to have only one connection to receive events from
733741
pool_size: PoolSize::PerHost(NonZeroUsize::new(1).unwrap()),

0 commit comments

Comments
 (0)