diff --git a/core/src/validator.rs b/core/src/validator.rs index 4c72a05df..27a6f1158 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -299,7 +299,7 @@ impl Validator { if config.wait_for_supermajority { info!( - "Waiting more than 66% of activated stake at slot {} to be in gossip...", + "Waiting for more than 66% of activated stake at slot {} to be in gossip...", bank.slot() ); loop { @@ -630,6 +630,8 @@ fn get_stake_percent_in_gossip( activated_stake ); gossip_stake += activated_stake; + } else if vote_state.node_pubkey == cluster_info.read().unwrap().id() { + gossip_stake += activated_stake; } } diff --git a/local-cluster/tests/local_cluster.rs b/local-cluster/tests/local_cluster.rs index ef982ec5d..52e8fa66e 100644 --- a/local-cluster/tests/local_cluster.rs +++ b/local-cluster/tests/local_cluster.rs @@ -159,6 +159,8 @@ fn test_validator_exit_2() { let num_nodes = 2; let mut validator_config = ValidatorConfig::default(); validator_config.rpc_config.enable_validator_exit = true; + validator_config.wait_for_supermajority = true; + let config = ClusterConfig { cluster_lamports: 10_000, node_stakes: vec![100; num_nodes],