solana/validator/src
steviez 8bd0e4cd95
Change getHealth to compare optimistically confirmed slots (#33651)
The current getHealth mechanism checks a local accounts hash slot vs.
those of other nodes as specified by --known-validator. This is a
very coarse comparison given that the default for this value is 100
slots. More so, any nodes using a value larger than the default
(ie --incremental-snapshot-interval 500) will likely see getHealth
return status behind at some point.

Change the underlying mechanism of how health is computed. Instead of
using the accounts hash slots published in gossip, use the latest
optimistically confirmed slot from the cluster. Even when a node is
behind, it is able to observe cluster optimistically confirmed by slots
by viewing votes published in gossip.

Thus, the latest cluster optimistically confirmed slot can be compared
against the latest optimistically confirmed bank from replay to
determine health. This new comparison is much more granular, and not
needing to depend on individual known validators is also a plus.
2023-10-16 11:21:33 -05:00
..
bin Boot solana-test-validator without enable_partitioned_epoch_reward feature (#33146) 2023-09-05 15:24:17 -06:00
admin_rpc_service.rs Revert "Add an RPC API that can query the list of Top N secondary index keys and their sizes (#28887)" (#33121) 2023-09-01 14:36:06 -07:00
bootstrap.rs Bump rand to 0.8, rand_chacha to 0.3, getrandom to 0.2 (#32871) 2023-08-21 19:11:21 +02:00
cli.rs Change getHealth to compare optimistically confirmed slots (#33651) 2023-10-16 11:21:33 -05:00
dashboard.rs removes instances of clippy::manual_let_else (#32417) 2023-07-09 21:41:36 +00:00
lib.rs Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2023-09-01 07:26:13 +00:00
main.rs Change getHealth to compare optimistically confirmed slots (#33651) 2023-10-16 11:21:33 -05:00