Accordig the totem protocal, nodes should enter GATHER state when it receive JoinMSG in OPERATIONAL state. If we discard it in OPERATIONAL state, the nodes sending this JoinMSG could not receive the response untill other nodes reach token lost timeout. This bug will cause nodes having entered GATHER state spend more time to rejoin the ring, and then it will make nodes reach token expired timeout more easily. Signed-off-by: Yunkai Zhang <qiushu.zyk@xxxxxxxxxx> --- exec/totemsrp.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/exec/totemsrp.c b/exec/totemsrp.c index 60e5663..db4e3bb 100644 --- a/exec/totemsrp.c +++ b/exec/totemsrp.c @@ -4054,7 +4054,7 @@ static void memb_join_process ( memb_state_commit_enter (instance); } else { - return; + goto out; } } else if (memb_set_subset (proc_list, @@ -4067,12 +4067,12 @@ static void memb_join_process ( instance->my_failed_list, instance->my_failed_list_entries)) { - return; + goto out; } else if (memb_set_subset (&memb_join->system_from, 1, instance->my_failed_list, instance->my_failed_list_entries)) { - return; + goto out; } else { memb_set_merge (proc_list, memb_join->proc_list_entries, @@ -4117,6 +4117,8 @@ static void memb_join_process ( memb_state_gather_enter (instance, 11); gather_entered = 1; } + +out: if (gather_entered == 0 && instance->memb_state == MEMB_STATE_OPERATIONAL) { -- 1.7.7.3 _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss