95d3393008
As described here: https://github.com/solana-labs/solana/issues/28642#issuecomment-1337449607 current gossip pruning code fails to maintain spanning trees across cluster. This commit instead implements a pruning code based on timeliness of delivered messages. If a messages is delivered timely enough (in terms of number of duplicates already observed for that value), it counts towards the respective node's score. Once there are enough many CRDS upserts from a specific origin, redundant nodes are pruned based on the tracked score. Since the pruning leaves some configurable redundancy and the scores are reset frequently, it should better tolerate active-set rotations. |
||
---|---|---|
.. | ||
cluster_info.rs | ||
crds_gossip.rs | ||
gossip.rs |