fix(ci): Increase test launch and shutdown times to fix CI failures (#7499)
* Increase launch times to help fix failures in rpc_conflict and non_blocking_logger tests * Add extra task spawn and shutdown logs to start.rs
This commit is contained in:
parent
c78d658bc5
commit
29d8e90ccf
|
@ -217,6 +217,7 @@ impl StartCmd {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Launch RPC server
|
// Launch RPC server
|
||||||
|
info!("spawning RPC server");
|
||||||
let (rpc_task_handle, rpc_tx_queue_task_handle, rpc_server) = RpcServer::spawn(
|
let (rpc_task_handle, rpc_tx_queue_task_handle, rpc_server) = RpcServer::spawn(
|
||||||
config.rpc.clone(),
|
config.rpc.clone(),
|
||||||
config.mining.clone(),
|
config.mining.clone(),
|
||||||
|
@ -232,6 +233,7 @@ impl StartCmd {
|
||||||
);
|
);
|
||||||
|
|
||||||
// Start concurrent tasks which don't add load to other tasks
|
// Start concurrent tasks which don't add load to other tasks
|
||||||
|
info!("spawning block gossip task");
|
||||||
let block_gossip_task_handle = tokio::spawn(
|
let block_gossip_task_handle = tokio::spawn(
|
||||||
sync::gossip_best_tip_block_hashes(
|
sync::gossip_best_tip_block_hashes(
|
||||||
sync_status.clone(),
|
sync_status.clone(),
|
||||||
|
@ -241,16 +243,20 @@ impl StartCmd {
|
||||||
.in_current_span(),
|
.in_current_span(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
info!("spawning mempool queue checker task");
|
||||||
let mempool_queue_checker_task_handle = mempool::QueueChecker::spawn(mempool.clone());
|
let mempool_queue_checker_task_handle = mempool::QueueChecker::spawn(mempool.clone());
|
||||||
|
|
||||||
|
info!("spawning mempool transaction gossip task");
|
||||||
let tx_gossip_task_handle = tokio::spawn(
|
let tx_gossip_task_handle = tokio::spawn(
|
||||||
mempool::gossip_mempool_transaction_id(mempool_transaction_receiver, peer_set.clone())
|
mempool::gossip_mempool_transaction_id(mempool_transaction_receiver, peer_set.clone())
|
||||||
.in_current_span(),
|
.in_current_span(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
info!("spawning delete old databases task");
|
||||||
let mut old_databases_task_handle =
|
let mut old_databases_task_handle =
|
||||||
zebra_state::check_and_delete_old_databases(config.state.clone());
|
zebra_state::check_and_delete_old_databases(config.state.clone());
|
||||||
|
|
||||||
|
info!("spawning progress logging task");
|
||||||
let progress_task_handle = tokio::spawn(
|
let progress_task_handle = tokio::spawn(
|
||||||
show_block_chain_progress(
|
show_block_chain_progress(
|
||||||
config.network.network,
|
config.network.network,
|
||||||
|
@ -260,6 +266,7 @@ impl StartCmd {
|
||||||
.in_current_span(),
|
.in_current_span(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
info!("spawning end of support checking task");
|
||||||
let end_of_support_task_handle = tokio::spawn(
|
let end_of_support_task_handle = tokio::spawn(
|
||||||
sync::end_of_support::start(config.network.network, latest_chain_tip).in_current_span(),
|
sync::end_of_support::start(config.network.network, latest_chain_tip).in_current_span(),
|
||||||
);
|
);
|
||||||
|
@ -270,6 +277,7 @@ impl StartCmd {
|
||||||
tokio::task::yield_now().await;
|
tokio::task::yield_now().await;
|
||||||
|
|
||||||
// The crawler only activates immediately in tests that use mempool debug mode
|
// The crawler only activates immediately in tests that use mempool debug mode
|
||||||
|
info!("spawning mempool crawler task");
|
||||||
let mempool_crawler_task_handle = mempool::Crawler::spawn(
|
let mempool_crawler_task_handle = mempool::Crawler::spawn(
|
||||||
&config.mempool,
|
&config.mempool,
|
||||||
peer_set,
|
peer_set,
|
||||||
|
@ -278,6 +286,7 @@ impl StartCmd {
|
||||||
chain_tip_change,
|
chain_tip_change,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
info!("spawning syncer task");
|
||||||
let syncer_task_handle = tokio::spawn(syncer.sync().in_current_span());
|
let syncer_task_handle = tokio::spawn(syncer.sync().in_current_span());
|
||||||
|
|
||||||
info!("spawned initial Zebra tasks");
|
info!("spawned initial Zebra tasks");
|
||||||
|
@ -410,7 +419,7 @@ impl StartCmd {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
info!("exiting Zebra because an ongoing task exited: stopping other tasks");
|
info!("exiting Zebra because an ongoing task exited: asking other tasks to stop");
|
||||||
|
|
||||||
// ongoing tasks
|
// ongoing tasks
|
||||||
rpc_task_handle.abort();
|
rpc_task_handle.abort();
|
||||||
|
@ -433,9 +442,12 @@ impl StartCmd {
|
||||||
//
|
//
|
||||||
// Without this shutdown, Zebra's RPC unit tests sometimes crashed with memory errors.
|
// Without this shutdown, Zebra's RPC unit tests sometimes crashed with memory errors.
|
||||||
if let Some(rpc_server) = rpc_server {
|
if let Some(rpc_server) = rpc_server {
|
||||||
|
info!("waiting for RPC server to shut down");
|
||||||
rpc_server.shutdown_blocking();
|
rpc_server.shutdown_blocking();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info!("exiting Zebra: all tasks have been asked to stop, waiting for remaining tasks to finish");
|
||||||
|
|
||||||
exit_status
|
exit_status
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ use crate::common::{
|
||||||
///
|
///
|
||||||
/// Previously, this value was 3 seconds, which caused rare
|
/// Previously, this value was 3 seconds, which caused rare
|
||||||
/// metrics or tracing test failures in Windows CI.
|
/// metrics or tracing test failures in Windows CI.
|
||||||
pub const LAUNCH_DELAY: Duration = Duration::from_secs(15);
|
pub const LAUNCH_DELAY: Duration = Duration::from_secs(20);
|
||||||
|
|
||||||
/// After we launch `zebrad`, wait this long in extended tests.
|
/// After we launch `zebrad`, wait this long in extended tests.
|
||||||
/// See [`LAUNCH_DELAY`] for details.
|
/// See [`LAUNCH_DELAY`] for details.
|
||||||
|
@ -52,7 +52,7 @@ pub const LIGHTWALLETD_DELAY: Duration = Duration::from_secs(60);
|
||||||
///
|
///
|
||||||
/// We use a longer time to make sure the first node has launched before the second starts,
|
/// We use a longer time to make sure the first node has launched before the second starts,
|
||||||
/// even if CI is under load.
|
/// even if CI is under load.
|
||||||
pub const BETWEEN_NODES_DELAY: Duration = Duration::from_secs(5);
|
pub const BETWEEN_NODES_DELAY: Duration = Duration::from_secs(20);
|
||||||
|
|
||||||
/// The amount of time we wait for lightwalletd to update to the tip.
|
/// The amount of time we wait for lightwalletd to update to the tip.
|
||||||
///
|
///
|
||||||
|
|
Loading…
Reference in New Issue