From 43897de12ef5bf73e4258942b081dbde268bccea Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Tue, 7 Jan 2020 20:35:09 -0700 Subject: [PATCH] Account for stake held by the current node while waiting for the supermajority to join gossip --- core/src/validator.rs | 4 +++- local-cluster/tests/local_cluster.rs | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) 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],