[PATCH] zookeeper: stricter check for direct join

6 views
Skip to first unread message

Meng Lingkun

unread,
Dec 1, 2016, 9:31:28 PM12/1/16
to sheep...@googlegroups.com, menglingkun
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



Liu Yuan

unread,
Dec 2, 2016, 3:30:59 AM12/2/16
to Meng Lingkun, sheep...@googlegroups.com
On Fri, Dec 02, 2016 at 10:31:15AM +0800, Meng Lingkun wrote:
> From: menglingkun <mengl...@cmss.chinamobile.com>
>
> MEMBER_ZNODE and QUEUE_POS_ZNODE must both exist before
> directly join.

Applied, thanks.

Yuan
Reply all
Reply to author
Forward
0 new messages