BlockProductionMethod::CentralScheduler as default (#34891)

This commit is contained in:
Andrew Fitzgerald 2024-01-24 15:30:32 -08:00 committed by GitHub
parent bbd1fd41ac
commit 62e7ebd0cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 4 deletions

View File

@ -21,6 +21,7 @@ Release channels have their own copy of this changelog:
* The default for `--use-snapshot-archives-at-startup` is now `when-newest` (#33883) * The default for `--use-snapshot-archives-at-startup` is now `when-newest` (#33883)
* The default for `solana-ledger-tool`, however, remains `always` (#34228) * The default for `solana-ledger-tool`, however, remains `always` (#34228)
* Added `central-scheduler` option for `--block-production-method` (#33890) * Added `central-scheduler` option for `--block-production-method` (#33890)
* `central-scheduler` as default option for `--block-production-method` (#34891)
* Updated to Borsh v1 * Updated to Borsh v1
* Added allow_commission_decrease_at_any_time feature which will allow commission on a vote account to be * Added allow_commission_decrease_at_any_time feature which will allow commission on a vote account to be
decreased even in the second half of epochs when the commission_updates_only_allowed_in_first_half_of_epoch decreased even in the second half of epochs when the commission_updates_only_allowed_in_first_half_of_epoch

View File

@ -168,8 +168,8 @@ impl BlockVerificationMethod {
#[derive(Clone, EnumString, EnumVariantNames, Default, IntoStaticStr, Display)] #[derive(Clone, EnumString, EnumVariantNames, Default, IntoStaticStr, Display)]
#[strum(serialize_all = "kebab-case")] #[strum(serialize_all = "kebab-case")]
pub enum BlockProductionMethod { pub enum BlockProductionMethod {
#[default]
ThreadLocalMultiIterator, ThreadLocalMultiIterator,
#[default]
CentralScheduler, CentralScheduler,
} }

View File

@ -16,7 +16,7 @@ use {
}, },
optimistic_confirmation_verifier::OptimisticConfirmationVerifier, optimistic_confirmation_verifier::OptimisticConfirmationVerifier,
replay_stage::DUPLICATE_THRESHOLD, replay_stage::DUPLICATE_THRESHOLD,
validator::{BlockVerificationMethod, ValidatorConfig}, validator::{BlockProductionMethod, BlockVerificationMethod, ValidatorConfig},
}, },
solana_download_utils::download_snapshot_archive, solana_download_utils::download_snapshot_archive,
solana_entry::entry::create_ticks, solana_entry::entry::create_ticks,
@ -349,11 +349,16 @@ fn test_forwarding() {
solana_logger::setup_with_default(RUST_LOG_FILTER); solana_logger::setup_with_default(RUST_LOG_FILTER);
// Set up a cluster where one node is never the leader, so all txs sent to this node // Set up a cluster where one node is never the leader, so all txs sent to this node
// will be have to be forwarded in order to be confirmed // will be have to be forwarded in order to be confirmed
// Only ThreadLocalMultiIterator banking stage forwards transactions,
// so must use that block-production-method.
let mut config = ClusterConfig { let mut config = ClusterConfig {
node_stakes: vec![DEFAULT_NODE_STAKE * 100, DEFAULT_NODE_STAKE], node_stakes: vec![DEFAULT_NODE_STAKE * 100, DEFAULT_NODE_STAKE],
cluster_lamports: DEFAULT_CLUSTER_LAMPORTS + DEFAULT_NODE_STAKE * 100, cluster_lamports: DEFAULT_CLUSTER_LAMPORTS + DEFAULT_NODE_STAKE * 100,
validator_configs: make_identical_validator_configs( validator_configs: make_identical_validator_configs(
&ValidatorConfig::default_for_test(), &ValidatorConfig {
block_production_method: BlockProductionMethod::ThreadLocalMultiIterator,
..ValidatorConfig::default_for_test()
},
2, 2,
), ),
..ClusterConfig::default() ..ClusterConfig::default()
@ -4257,7 +4262,10 @@ fn test_leader_failure_4() {
solana_logger::setup_with_default(RUST_LOG_FILTER); solana_logger::setup_with_default(RUST_LOG_FILTER);
error!("test_leader_failure_4"); error!("test_leader_failure_4");
let num_nodes = 4; let num_nodes = 4;
let validator_config = ValidatorConfig::default_for_test(); let validator_config = ValidatorConfig {
block_production_method: BlockProductionMethod::ThreadLocalMultiIterator,
..ValidatorConfig::default_for_test()
};
let mut config = ClusterConfig { let mut config = ClusterConfig {
cluster_lamports: DEFAULT_CLUSTER_LAMPORTS, cluster_lamports: DEFAULT_CLUSTER_LAMPORTS,
node_stakes: vec![DEFAULT_NODE_STAKE; 4], node_stakes: vec![DEFAULT_NODE_STAKE; 4],