Dear Heartbeat Developer All.

I researched the long delay for DC node election. In bugzilla #1138,
its problem is fixed and I confirmed it on 3 nodes cluster, i.e. DC
node is killed and 2 nodes are alive. But in other situation that is
at the first the cluster consists of 2 nodes and DC node is killed, it
takes long delay to elect new DC node. Because by fixing for bugzilla
#1138, it encountered the other timeout (CCM_TMOUT_GET_IFF()) in
ccm_state_sent_memlistreq(). When alive node is 1, last one waits for
long because there is no nodes to send message. So, I made the path
not to wait at the CCM_TYPE_REQ_MEMLIST message type on
ccm_state_sent_memlistreq() and attach the patch. Could you check it?

Best Regards
MATSUDA, Daiki
--- heartbeat-2.1.2/memebership/ccm/ccm_statemachine.c.orig	2007-10-10 11:04:31.000000000 +0900
+++ heartbeat-2.1.2/memebership/ccm/ccm_statemachine.c	2007-10-10 11:05:34.000000000 +0900
@@ -2110,6 +2110,12 @@ switchstatement:
 			/* if this is my own message just forget it */
 			if(strncmp(orig, llm_get_mynodename(&info->llm),
 				   NODEIDSIZE) == 0){
+				if(llm_get_live_nodecount(&info->llm) == 1){
+					ccm_log(LOG_INFO, "%s: directly call"
+						"ccm_compute_and_send_final_memlist()",
+						__FUNCTION__);
+					ccm_compute_and_send_final_memlist(hb, info);
+				}
 				break;
 			}
 
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to