mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-20 00:20:47 +00:00
Currently, hints that are sent to tablet replicas which are leaving due to RF-- can be lost, because `hint_sender` only checks if the destination host is leaving. To avoid this, we add a new method `effective_replication_map::is_leaving(host, token)` which checks if the tablet identified by the given token is leaving the host. This method is called by the `hint_sender` to check if the hint should be sent only to the destination host, or to all the replicas. This way, we increase consistency. For v-node based ERPs, `is_leaving()` calls `token_metadata::is_leaving(host)`. Fixes: SCYLLADB-287 This is an improvement, and backport is not needed. Closes scylladb/scylladb#28770 * github.com:scylladb/scylladb: test: verify hints are delivered during tablet RF reduction hint_sender: use per-tablet is_leaving() to avoid losing hints on RF reduction erm: add is_leaving() to effective_replication_map