Sfoglia il codice sorgente

totemsrp: Enhance mcast failure detection

memb_state_gather_enter increase stats.continuous_gather only if
previous state was gather also. This should happen only if multicast is
not working properly (local firewall in most cases) and not if many
nodes joins at one time.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Angus Salkeld <asalkeld@redhat.com>
Jan Friesse 15 anni fa
parent
commit
61d83cd719
1 ha cambiato i file con 7 aggiunte e 1 eliminazioni
  1. 7 1
      exec/totemsrp.c

+ 7 - 1
exec/totemsrp.c

@@ -1895,7 +1895,13 @@ static void memb_state_gather_enter (
 
 
 	instance->memb_state = MEMB_STATE_GATHER;
 	instance->memb_state = MEMB_STATE_GATHER;
 	instance->stats.gather_entered++;
 	instance->stats.gather_entered++;
-	instance->stats.continuous_gather++;
+
+	if (gather_from == 3) {
+		/*
+		 * State 3 means gather, so we are continuously gathering.
+		 */
+		instance->stats.continuous_gather++;
+	}
 
 
 	if (instance->stats.continuous_gather > MAX_NO_CONT_GATHER) {
 	if (instance->stats.continuous_gather > MAX_NO_CONT_GATHER) {
 		log_printf (instance->totemsrp_log_level_warning,
 		log_printf (instance->totemsrp_log_level_warning,