[Sheepdog] [PATCH V2 2/2] sheep: teach sheepdog to better recovery the cluster

Liu Yuan namei.unix at gmail.com
Sat Sep 24 13:26:19 CEST 2011


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



More information about the sheepdog mailing list