mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-28 12:17:02 +00:00
"This series tries to improve the bootstrap of a node in a large cluster by improving how gossip applies the gossip node state. In #2404, the joining node failed to bootstrap, because it did not see the seed node when storage_service::bootstrap ran. After this series, we apply the whole gossip state contained in the gossip ack/ack2 message before applying the next one, and we apply the state of the seed node earlier than non-seed node so we can have the seed node's state faster. We also add some randomness to the order of applying gossip node state to prevent some of the nodes' state are always applied earlier than the others. This series improves apply_state_locally for large cluster: - Tune the order of applying endpoint_state - Serialize apply_state_locally - Avoid copying of the gossip state map Fixes #2404" * tag 'asias/gossip_issue_2404_v2' of github.com:scylladb/seastar-dev: gossip: Avoid copying with apply_state_locally gossip: Serialize apply_state_locally gossip: Tune the order of applying endpoint_state in apply_state_locally gossip: Introduce is_seed helper gossip: Pass const endpoint_state& in notify_failure_detector gossip: Pass reference in notify_failure_detector