Files
scylladb/gms
Benny Halevy a5d5b6ded1 gossiper: remove_endpoint: call on_dead notifications is endpoint was alive
Since 75d1dd3a76
gossiper::convict will no longer call `mark_dead`
(e.g. when called from the failure detection loop
after a node is stopped following decommission)
and therefore the on_dead notification won't get called.

To make that explicit, if the node was alive before
remove_endpoint erased it from _live_endpoint,
and it has an endpoint_state, call the on_dead notifications.
These are imporant to clean up after the node is dead
e.g. in storage_proxy::on_down which cancels all
respective write handlers.

This preferred over going through `mark_dead` as the latter
marks the endpoint as unreachable, which is wrong in this
case as the node left the cluster.

Fixes #15178

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>

Closes #15179
2023-08-27 16:18:27 +03:00
..