On 09/24/2011 01:45 PM, MORITA Kazutaka wrote: > Thanks, I like your simpler approach. But how to deal with the case > that the master node's epoch doesn't contain the node which has the > latest epoch? I think this is the most complicated situation. > > For example: > > for i in 0 1; do ./sheep/sheep /store/$i -z $i -p 700$i; sleep 1; done > ./collie/collie cluster format > for i in 2 3 4; do > pkill -f "sheep /store/$((i - 2))" > ./sheep/sheep /store/$i -z $i -p 700$i > sleep 1 > done > for i in 3 4; do pkill -f "sheep /store/$i"; sleep 1; done > for i in 0 1 2 3 4; do ./sheep/sheep /store/$i -z $i -p 700$i; sleep 1; done > for i in 1 2 3 4; do ./sheep/sheep /store/$i -z $i -p 700$i; sleep 1; done > for i in 0 1 2 3 4; do ./collie/collie cluster info -p 700$i; done > > My patch handles this, but your one doesn't. Is it possible to handle > this with a simple change? Or, perhaps, don't we need to consider > this case? > Ummm. This case is quit interesting and looks mathematically beautiful to me. I think it would happen in the real life and I have cooked a patch to handle all the cases we have discussed so far. Compared with yours, the footprint in the network traffic is smaller. I hope this doesn't draw any more complexity into sheepdog. Thanks, Yuan |