From 4e72b2a6b1697267cdad4e7252daf69595a82f5e Mon Sep 17 00:00:00 2001 From: Asias He Date: Fri, 24 Jul 2015 14:16:48 +0800 Subject: [PATCH] gossip: Fix mark_dead We should change the state stored in endpoint_state_map, not local variable. --- gms/gossiper.cc | 2 +- gms/gossiper.hh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gms/gossiper.cc b/gms/gossiper.cc index 955592de5a..7da8494a79 100644 --- a/gms/gossiper.cc +++ b/gms/gossiper.cc @@ -935,7 +935,7 @@ void gossiper::real_mark_alive(inet_address addr, endpoint_state local_state) { } } -void gossiper::mark_dead(inet_address addr, endpoint_state local_state) { +void gossiper::mark_dead(inet_address addr, endpoint_state& local_state) { logger.trace("marking as down {}", addr); local_state.mark_dead(); _live_endpoints.erase(addr); diff --git a/gms/gossiper.hh b/gms/gossiper.hh index 2b97d076c7..da087676ce 100644 --- a/gms/gossiper.hh +++ b/gms/gossiper.hh @@ -351,7 +351,7 @@ private: void real_mark_alive(inet_address addr, endpoint_state local_state); - void mark_dead(inet_address addr, endpoint_state local_state); + void mark_dead(inet_address addr, endpoint_state& local_state); /** * This method is called whenever there is a "big" change in ep state (a generation change for a known node).