From: Yunkai Zhang <[email protected]>

When joiner's epoch less than master's epoch, CJ_RES_JOIN_LATER will be
return in join event's response, just like CJ_RES_JOIN_LATER's literal meaning,
the joiner should exit at this time.

We can restart it again after the cluster start working(status become OK).

Signed-off-by: Yunkai Zhang <[email protected]>
---
 sheep/group.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sheep/group.c b/sheep/group.c
index f7c8ca7..cb63454 100644
--- a/sheep/group.c
+++ b/sheep/group.c
@@ -1006,7 +1006,7 @@ void sd_join_handler(struct sd_node *joined, struct 
sd_node *members,
        uint32_t le = get_latest_epoch();
 
        if (node_eq(joined, &sys->this_node)) {
-               if (result == CJ_RES_FAIL) {
+               if (result == CJ_RES_FAIL || result == CJ_RES_JOIN_LATER) {
                        eprintf("Failed to join, exiting.\n");
                        sys->cdrv->leave();
                        exit(1);
-- 
1.7.11.2

-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to