On Thu, Nov 3, 2011 at 5:37 PM, Angus Salkeld <asalkeld@xxxxxxxxxx> wrote: > On Thu, Nov 03, 2011 at 02:18:52PM +0800, Yunkai Zhang wrote: >> Hi Angus: >> >> I found that corosync sends downlist(alias leftlist in CPG) and >> joinlist separately to CPG client after a new ring established. >> >> When a node lefts from or joins into a ring, only downlist or joinlist >> contain content, this behavior seems not strange. >> >> But suppose there are two ring: Ring(A,B), Ring(C,D,E,F) that are >> forming into a new ring, and these nodes: B,E,F dropped in the GATHER >> state, then only these nodes: A,C,D will form the new Ring(A,C,D). And >> corosync will send downlist(B) and joinlist(C,D) as two confchg events >> to the CPG client of node A. This will make CPG client confused. >> >> The correct way is that send _Only_ one confchg event containing both >> downlist and joinlist to the CPG client. In this case, >> 1) The CPG client of A should receive only one confchg as following: >> memb:A,C,D left:B join:C,D >> >> 2) The CPG client of C,D should receive only one confchg as following: >> memb:A,C,D left:E,F join:A >> >> Angus, what is your opinion? >> >> If you agree with me, I would summit patch to fix it. > > Sure it would be better to have one event, just try leave > cpg.c simpler and clearer than when you found it (it has a tendancy of getting > more and more complex). Not always possible, but something to aim for. > > -Angus > Thanks, I will try it. >> >> -- >> Yunkai Zhang >> Work at Taobao > _______________________________________________ > discuss mailing list > discuss@xxxxxxxxxxxx > http://lists.corosync.org/mailman/listinfo/discuss > -- Yunkai Zhang Work at Taobao _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss