From 0f4b858224ceb60d61809fbac06d56ebab79800a Mon Sep 17 00:00:00 2001 From: Will Hickey Date: Thu, 4 Aug 2022 13:26:43 -0500 Subject: [PATCH] =?UTF-8?q?Revert=20"Enable=20QUIC=20client=20by=20default?= =?UTF-8?q?.=20Add=20arg=20to=20disable=20QUIC=20client=E2=80=A6=20(#26913?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revert "Enable QUIC client by default. Add arg to disable QUIC client. (#26879)" This reverts commit 4c297500959368342a94e953f59e28de60195dd5. --- banking-bench/src/main.rs | 6 +++--- bench-tps/src/cli.rs | 10 ++++----- client/src/connection_cache.rs | 30 +++++++-------------------- dos/src/cli.rs | 1 + multinode-demo/bootstrap-validator.sh | 2 +- validator/src/main.rs | 10 +-------- 6 files changed, 18 insertions(+), 41 deletions(-) diff --git a/banking-bench/src/main.rs b/banking-bench/src/main.rs index 2806a8a9e0..51b0042abe 100644 --- a/banking-bench/src/main.rs +++ b/banking-bench/src/main.rs @@ -214,10 +214,10 @@ fn main() { .help("Number of threads to use in the banking stage"), ) .arg( - Arg::new("tpu_disable_quic") - .long("tpu-disable-quic") + Arg::new("tpu_use_quic") + .long("tpu-use-quic") .takes_value(false) - .help("Disable forwarding messages to TPU using QUIC"), + .help("Forward messages to TPU using QUIC"), ) .get_matches(); diff --git a/bench-tps/src/cli.rs b/bench-tps/src/cli.rs index 8c5c22ac09..e9b4faa848 100644 --- a/bench-tps/src/cli.rs +++ b/bench-tps/src/cli.rs @@ -290,10 +290,10 @@ pub fn build_args<'a, 'b>(version: &'b str) -> App<'a, 'b> { .help("Submit transactions with a TpuClient") ) .arg( - Arg::with_name("tpu_disable_quic") - .long("tpu-disable-quic") + Arg::with_name("tpu_use_quic") + .long("tpu-use-quic") .takes_value(false) - .help("Do not submit transactions via QUIC; only affects ThinClient (default) \ + .help("Submit transactions via QUIC; only affects ThinClient (default) \ or TpuClient sends"), ) .arg( @@ -348,8 +348,8 @@ pub fn extract_args(matches: &ArgMatches) -> Config { args.external_client_type = ExternalClientType::RpcClient; } - if matches.is_present("tpu_disable_quic") { - args.use_quic = false; + if matches.is_present("tpu_use_quic") { + args.use_quic = true; } if let Some(v) = matches.value_of("tpu_connection_pool_size") { diff --git a/client/src/connection_cache.rs b/client/src/connection_cache.rs index 9e5efff3f3..f0628d3e32 100644 --- a/client/src/connection_cache.rs +++ b/client/src/connection_cache.rs @@ -32,7 +32,7 @@ static MAX_CONNECTIONS: usize = 1024; /// Used to decide whether the TPU and underlying connection cache should use /// QUIC connections. -pub const DEFAULT_TPU_USE_QUIC: bool = true; +pub const DEFAULT_TPU_USE_QUIC: bool = false; /// Default TPU connection pool size per remote address pub const DEFAULT_TPU_CONNECTION_POOL_SIZE: usize = 4; @@ -683,11 +683,6 @@ mod tests { // be lazy and not connect until first use or handle connection errors somehow // (without crashing, as would be required in a real practical validator) let connection_cache = ConnectionCache::default(); - let port_offset = if connection_cache.use_quic() { - QUIC_PORT_OFFSET - } else { - 0 - }; let addrs = (0..MAX_CONNECTIONS) .into_iter() .map(|_| { @@ -700,29 +695,18 @@ mod tests { let map = connection_cache.map.read().unwrap(); assert!(map.len() == MAX_CONNECTIONS); addrs.iter().for_each(|a| { - let port = a - .port() - .checked_add(port_offset) - .unwrap_or_else(|| a.port()); - let addr = &SocketAddr::new(a.ip(), port); - - let conn = &map.get(addr).expect("Address not found").connections[0]; - let conn = conn.new_blocking_connection(*addr, connection_cache.stats.clone()); - assert!(addr.ip() == conn.tpu_addr().ip()); + let conn = &map.get(a).expect("Address not found").connections[0]; + let conn = conn.new_blocking_connection(*a, connection_cache.stats.clone()); + assert!(a.ip() == conn.tpu_addr().ip()); }); } - let addr = &get_addr(&mut rng); - connection_cache.get_connection(addr); + let addr = get_addr(&mut rng); + connection_cache.get_connection(&addr); - let port = addr - .port() - .checked_add(port_offset) - .unwrap_or_else(|| addr.port()); - let addr_with_quic_port = SocketAddr::new(addr.ip(), port); let map = connection_cache.map.read().unwrap(); assert!(map.len() == MAX_CONNECTIONS); - let _conn = map.get(&addr_with_quic_port).expect("Address not found"); + let _conn = map.get(&addr).expect("Address not found"); } #[test] diff --git a/dos/src/cli.rs b/dos/src/cli.rs index 0fe3890af0..9e82c3f06e 100644 --- a/dos/src/cli.rs +++ b/dos/src/cli.rs @@ -248,6 +248,7 @@ mod tests { "--valid-signatures", "--num-signatures", "8", + "--tpu-use-quic", "--send-batch-size", "1", ]) diff --git a/multinode-demo/bootstrap-validator.sh b/multinode-demo/bootstrap-validator.sh index deb82f106f..9245f507c3 100755 --- a/multinode-demo/bootstrap-validator.sh +++ b/multinode-demo/bootstrap-validator.sh @@ -61,7 +61,7 @@ while [[ -n $1 ]]; do elif [[ $1 = --enable-rpc-bigtable-ledger-storage ]]; then args+=("$1") shift - elif [[ $1 = --tpu-disable-quic ]]; then + elif [[ $1 = --tpu-use-quic ]]; then args+=("$1") shift elif [[ $1 = --rpc-send-batch-ms ]]; then diff --git a/validator/src/main.rs b/validator/src/main.rs index 8f11c8c692..ce8c12c06f 100644 --- a/validator/src/main.rs +++ b/validator/src/main.rs @@ -1213,16 +1213,8 @@ pub fn main() { Arg::with_name("tpu_use_quic") .long("tpu-use-quic") .takes_value(false) - .hidden(true) - .conflicts_with("tpu_disable_quic") .help("Use QUIC to send transactions."), ) - .arg( - Arg::with_name("tpu_disable_quic") - .long("tpu-disable-quic") - .takes_value(false) - .help("Do not use QUIC to send transactions."), - ) .arg( Arg::with_name("disable_quic_servers") .long("disable-quic-servers") @@ -2322,7 +2314,7 @@ pub fn main() { let restricted_repair_only_mode = matches.is_present("restricted_repair_only_mode"); let accounts_shrink_optimize_total_space = value_t_or_exit!(matches, "accounts_shrink_optimize_total_space", bool); - let tpu_use_quic = !matches.is_present("tpu_disable_quic"); + let tpu_use_quic = matches.is_present("tpu_use_quic"); let enable_quic_servers = !matches.is_present("disable_quic_servers"); let tpu_connection_pool_size = value_t_or_exit!(matches, "tpu_connection_pool_size", usize);