If all nodes are synced after headless, the timer is stopped
but node_sync_window_closed is never set to true.

Later on, if a node becomes split from the main network and
rejoins, it will send a headless sync to amfd.

amfd will go into a never ending loop of processing the message,
putting back into the queue, etc.

To fix this, ensure node_sync_window_closed is always set
as a result of the timer expiring 'naturally'.
---
 src/amf/amfd/ndfsm.cc | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/src/amf/amfd/ndfsm.cc b/src/amf/amfd/ndfsm.cc
index edc993988..4e9e4fb82 100644
--- a/src/amf/amfd/ndfsm.cc
+++ b/src/amf/amfd/ndfsm.cc
@@ -326,10 +326,6 @@ void avd_node_up_evh(AVD_CL_CB *cb, AVD_EVT *evt) {
     avnd->node_up_msg_count++;
     rc_node_up = avd_count_node_up(cb);
     if (rc_node_up == sync_nd_size) {
-      if (cb->node_sync_tmr.is_active) {
-        avd_stop_tmr(cb, &cb->node_sync_tmr);
-        TRACE("stop NodeSync timer");
-      }
       cb->all_nodes_synced = true;
       LOG_NO("Received node_up_msg from all nodes");
     } else {
-- 
2.17.1



_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to