On Mon, Nov 07, 2011 at 12:18:49PM +0800, Yunkai Zhang wrote: > 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. This would need a _lot_ of testing! I strongly suggest leaving the downlist messaging in to avoid regressions. > > 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. You break on-wire compatibility by removing the downlist not by merging the events to the client applications (on-wire == totem messages to other nodes not ipc message to application). The problem with that is what happens when you are upgrading and you have a cluster with a mix of versions - they will not aggree on the same cpg group membership. -Angus > -- > Yunkai Zhang > Work at Taobao _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss