Revert "core: disable quic servers on mainnet-beta" (#26216)

Enable QUIC server
This commit is contained in:
sakridge 2022-07-20 20:37:24 +02:00 committed by GitHub
parent 91c12d9104
commit 4a7fb2a808
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 63 deletions

View File

@ -62,8 +62,8 @@ pub struct Tpu {
banking_stage: BankingStage, banking_stage: BankingStage,
cluster_info_vote_listener: ClusterInfoVoteListener, cluster_info_vote_listener: ClusterInfoVoteListener,
broadcast_stage: BroadcastStage, broadcast_stage: BroadcastStage,
tpu_quic_t: Option<thread::JoinHandle<()>>, tpu_quic_t: thread::JoinHandle<()>,
tpu_forwards_quic_t: Option<thread::JoinHandle<()>>, tpu_forwards_quic_t: thread::JoinHandle<()>,
find_packet_sender_stake_stage: FindPacketSenderStakeStage, find_packet_sender_stake_stage: FindPacketSenderStakeStage,
vote_find_packet_sender_stake_stage: FindPacketSenderStakeStage, vote_find_packet_sender_stake_stage: FindPacketSenderStakeStage,
staked_nodes_updater_service: StakedNodesUpdaterService, staked_nodes_updater_service: StakedNodesUpdaterService,
@ -96,7 +96,6 @@ impl Tpu {
connection_cache: &Arc<ConnectionCache>, connection_cache: &Arc<ConnectionCache>,
keypair: &Keypair, keypair: &Keypair,
log_messages_bytes_limit: Option<usize>, log_messages_bytes_limit: Option<usize>,
enable_quic_servers: bool,
) -> Self { ) -> Self {
let TpuSockets { let TpuSockets {
transactions: transactions_sockets, transactions: transactions_sockets,
@ -154,37 +153,33 @@ impl Tpu {
let (verified_sender, verified_receiver) = unbounded(); let (verified_sender, verified_receiver) = unbounded();
let stats = Arc::new(StreamStats::default()); let stats = Arc::new(StreamStats::default());
let tpu_quic_t = enable_quic_servers.then(|| { let tpu_quic_t = spawn_server(
spawn_server( transactions_quic_sockets,
transactions_quic_sockets, keypair,
keypair, cluster_info.my_contact_info().tpu.ip(),
cluster_info.my_contact_info().tpu.ip(), packet_sender,
packet_sender, exit.clone(),
exit.clone(), MAX_QUIC_CONNECTIONS_PER_PEER,
MAX_QUIC_CONNECTIONS_PER_PEER, staked_nodes.clone(),
staked_nodes.clone(), MAX_STAKED_CONNECTIONS,
MAX_STAKED_CONNECTIONS, MAX_UNSTAKED_CONNECTIONS,
MAX_UNSTAKED_CONNECTIONS, stats.clone(),
stats.clone(), )
) .unwrap();
.unwrap()
});
let tpu_forwards_quic_t = enable_quic_servers.then(|| { let tpu_forwards_quic_t = spawn_server(
spawn_server( transactions_forwards_quic_sockets,
transactions_forwards_quic_sockets, keypair,
keypair, cluster_info.my_contact_info().tpu_forwards.ip(),
cluster_info.my_contact_info().tpu_forwards.ip(), forwarded_packet_sender,
forwarded_packet_sender, exit.clone(),
exit.clone(), MAX_QUIC_CONNECTIONS_PER_PEER,
MAX_QUIC_CONNECTIONS_PER_PEER, staked_nodes,
staked_nodes, MAX_STAKED_CONNECTIONS.saturating_add(MAX_UNSTAKED_CONNECTIONS),
MAX_STAKED_CONNECTIONS.saturating_add(MAX_UNSTAKED_CONNECTIONS), 0, // Prevent unstaked nodes from forwarding transactions
0, // Prevent unstaked nodes from forwarding transactions stats,
stats, )
) .unwrap();
.unwrap()
});
let sigverify_stage = { let sigverify_stage = {
let verifier = TransactionSigVerifier::new(verified_sender); let verifier = TransactionSigVerifier::new(verified_sender);
@ -271,13 +266,9 @@ impl Tpu {
self.find_packet_sender_stake_stage.join(), self.find_packet_sender_stake_stage.join(),
self.vote_find_packet_sender_stake_stage.join(), self.vote_find_packet_sender_stake_stage.join(),
self.staked_nodes_updater_service.join(), self.staked_nodes_updater_service.join(),
self.tpu_quic_t.join(),
self.tpu_forwards_quic_t.join(),
]; ];
if let Some(tpu_quic_t) = self.tpu_quic_t {
tpu_quic_t.join()?;
}
if let Some(tpu_forwards_quic_t) = self.tpu_forwards_quic_t {
tpu_forwards_quic_t.join()?;
}
let broadcast_result = self.broadcast_stage.join(); let broadcast_result = self.broadcast_stage.join();
for result in results { for result in results {
result?; result?;

View File

@ -90,7 +90,7 @@ use {
clock::Slot, clock::Slot,
epoch_schedule::MAX_LEADER_SCHEDULE_EPOCH_OFFSET, epoch_schedule::MAX_LEADER_SCHEDULE_EPOCH_OFFSET,
exit::Exit, exit::Exit,
genesis_config::{ClusterType, GenesisConfig}, genesis_config::GenesisConfig,
hash::Hash, hash::Hash,
pubkey::Pubkey, pubkey::Pubkey,
shred_version::compute_shred_version, shred_version::compute_shred_version,
@ -176,7 +176,6 @@ pub struct ValidatorConfig {
pub wait_to_vote_slot: Option<Slot>, pub wait_to_vote_slot: Option<Slot>,
pub ledger_column_options: LedgerColumnOptions, pub ledger_column_options: LedgerColumnOptions,
pub runtime_config: RuntimeConfig, pub runtime_config: RuntimeConfig,
pub enable_quic_servers: bool,
} }
impl Default for ValidatorConfig { impl Default for ValidatorConfig {
@ -238,7 +237,6 @@ impl Default for ValidatorConfig {
wait_to_vote_slot: None, wait_to_vote_slot: None,
ledger_column_options: LedgerColumnOptions::default(), ledger_column_options: LedgerColumnOptions::default(),
runtime_config: RuntimeConfig::default(), runtime_config: RuntimeConfig::default(),
enable_quic_servers: false,
} }
} }
} }
@ -992,18 +990,6 @@ impl Validator {
&connection_cache, &connection_cache,
); );
let enable_quic_servers = if genesis_config.cluster_type == ClusterType::MainnetBeta {
config.enable_quic_servers
} else {
if config.enable_quic_servers {
warn!(
"ignoring --enable-quic-servers. QUIC is always enabled for cluster type: {:?}",
genesis_config.cluster_type
);
}
true
};
let tpu = Tpu::new( let tpu = Tpu::new(
&cluster_info, &cluster_info,
&poh_recorder, &poh_recorder,
@ -1036,7 +1022,6 @@ impl Validator {
&connection_cache, &connection_cache,
&identity_keypair, &identity_keypair,
config.runtime_config.log_messages_bytes_limit, config.runtime_config.log_messages_bytes_limit,
enable_quic_servers,
); );
datapoint_info!( datapoint_info!(

View File

@ -63,7 +63,6 @@ pub fn safe_clone_config(config: &ValidatorConfig) -> ValidatorConfig {
wait_to_vote_slot: config.wait_to_vote_slot, wait_to_vote_slot: config.wait_to_vote_slot,
ledger_column_options: config.ledger_column_options.clone(), ledger_column_options: config.ledger_column_options.clone(),
runtime_config: config.runtime_config.clone(), runtime_config: config.runtime_config.clone(),
enable_quic_servers: config.enable_quic_servers,
} }
} }

View File

@ -1210,11 +1210,6 @@ pub fn main() {
.takes_value(false) .takes_value(false)
.help("Use QUIC to send transactions."), .help("Use QUIC to send transactions."),
) )
.arg(
Arg::with_name("enable_quic_servers")
.hidden(true)
.long("enable-quic-servers")
)
.arg( .arg(
Arg::with_name("tpu_connection_pool_size") Arg::with_name("tpu_connection_pool_size")
.long("tpu-connection-pool-size") .long("tpu-connection-pool-size")
@ -2304,7 +2299,6 @@ pub fn main() {
let accounts_shrink_optimize_total_space = let accounts_shrink_optimize_total_space =
value_t_or_exit!(matches, "accounts_shrink_optimize_total_space", bool); value_t_or_exit!(matches, "accounts_shrink_optimize_total_space", bool);
let tpu_use_quic = matches.is_present("tpu_use_quic"); let tpu_use_quic = matches.is_present("tpu_use_quic");
let enable_quic_servers = matches.is_present("enable_quic_servers");
let tpu_connection_pool_size = value_t_or_exit!(matches, "tpu_connection_pool_size", usize); let tpu_connection_pool_size = value_t_or_exit!(matches, "tpu_connection_pool_size", usize);
let shrink_ratio = value_t_or_exit!(matches, "accounts_shrink_ratio", f64); let shrink_ratio = value_t_or_exit!(matches, "accounts_shrink_ratio", f64);
@ -2648,7 +2642,6 @@ pub fn main() {
log_messages_bytes_limit: value_of(&matches, "log_messages_bytes_limit"), log_messages_bytes_limit: value_of(&matches, "log_messages_bytes_limit"),
..RuntimeConfig::default() ..RuntimeConfig::default()
}, },
enable_quic_servers,
..ValidatorConfig::default() ..ValidatorConfig::default()
}; };