On 11/07/2011 08:26 PM, Angus Salkeld wrote: > 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). > If we ever decide in the future to break onwire compat, we should address the many pending things related to onwire which need fixing. short list: 1. remove evil.c 2. remove syncv1 3. rework cpg for the 5th time 4. add unlimited redundant ring count to totem messages 5. rewrite totempg so that all messages are aligned and fragmentation/assembly work correctly in all cases and maintain VS guarantees There may be others. We are not addressing any on-wire compat changes without addressing all of them. Regards -steve > 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 _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss