[sheepdog] [PATCH 2/2] sheep: check joining nodes with newer but invalid epoch
MORITA Kazutaka
morita.kazutaka at gmail.com
Wed May 15 18:22:04 CEST 2013
At Wed, 15 May 2013 18:37:58 +0900,
MORITA Kazutaka wrote:
>
> At Wed, 15 May 2013 16:04:16 +0800,
> Liu Yuan wrote:
> >
> > On 05/14/2013 11:20 PM, MORITA Kazutaka wrote:
> > >
> > > + if (jm->epoch > local_epoch) {
> > > + if (sys->status == SD_STATUS_WAIT_FOR_JOIN) {
> > > + /* The joining node will be a master */
> > > + sd_eprintf("transfer mastership (%d, %d)", jm->epoch,
> > > + local_epoch);
> > > + return CJ_RES_MASTER_TRANSFER;
> >
> > If sys->status == SD_STATUS_WAIT_FOR_JOIN and another node from other
> > cluster can join the cluster? Why not directly check cluster ctime?
>
> What do you mean by "directly check cluster ctime"? We already check
> cluster ctime at the beginning of this function. The above codes are
> just trying to find the latest epoch with master transfer.
Drop this patch. I think of doing bigger changes to start Sheepdog cluster even
if the nodes have different epochs.
Thanks,
Kazutaka
More information about the sheepdog
mailing list