[corosync] [PATCH v2] Merge downlist and joinlist into one confchg event

Yunkai Zhang qiushu.zyk at taobao.com
Mon Nov 7 04:18:49 GMT 2011


In the previous version of cpg.c, we collected downlist info by
interchanging messages among all nodes in the cluster. In my opinion,
this is not necessary. We can calculate this info according
left_nodes(my_member_nodes-trans_nodes) and its relative
process_infos. So I discard message interchanging and collect downlist
info directly in cpg_leftlist_collect function.

Although I calculate downlist information directly in local, but
Iwon't send it until I have collected all joinlist as regular
messagesamong all nodes in the cluster. Even if there are no one
joinlistcontent among all nodes, this patch will also send _bare_
joinlistincluding only the message header so that all nodes can
receive alljoinlist message and reach synchronization finally. So I
think itwon't deliver configuration changes to the application ahead
of theregular messages.
I known that merging downlist and joinlist into one confchg event
willbreak wire compatibility, but I think it will be more reasonable,
andmost important it reflect the truth and obey the CPG API
description.
-- 
Yunkai Zhang
Work at Taobao


More information about the discuss mailing list