From: menglingkun <
mengl...@cmss.chinamobile.com>
MEMBER_ZNODE and QUEUE_POS_ZNODE must both exist before
directly join.
Signed-off-by: Meng Lingkun <
mengl...@cmss.chinamobile.com>
---
sheep/cluster/zookeeper.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/sheep/cluster/zookeeper.c b/sheep/cluster/zookeeper.c
index 9e0decb..8505b4e 100644
--- a/sheep/cluster/zookeeper.c
+++ b/sheep/cluster/zookeeper.c
@@ -1189,9 +1189,10 @@ static int zk_join(const struct sd_node *myself,
node_to_str(myself));
rc2 = zk_node_exists(path);
+ if (rc1 == ZOK && rc2 == ZOK && sys->upgrade)
+ return direct_join();
+
if (rc1 == ZOK || rc2 == ZOK) {
- if (sys->upgrade)
- return direct_join();
sd_err("Previous zookeeper session exist, shoot myself. Please "
"wait for %d seconds to join me again. Or you can "
"specify --upgrade to make rolling update.",
--
1.8.3.1