<div dir="ltr">Reviewed-by: Robin Dong <<a href="mailto:sanbai@taobao.com">sanbai@taobao.com</a>></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/10 Liu Yuan <span dir="ltr"><<a href="mailto:namei.unix@gmail.com" target="_blank">namei.unix@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Not every users is zookeeper guru, so we should make log as friendly as possible<br>
<br>
Signed-off-by: Liu Yuan <<a href="mailto:namei.unix@gmail.com">namei.unix@gmail.com</a>><br>
---<br>
 sheep/cluster/zookeeper.c | 13 ++++++++-----<br>
 1 file changed, 8 insertions(+), 5 deletions(-)<br>
<br>
diff --git a/sheep/cluster/zookeeper.c b/sheep/cluster/zookeeper.c<br>
index b80d3c7..3f6c146 100644<br>
--- a/sheep/cluster/zookeeper.c<br>
+++ b/sheep/cluster/zookeeper.c<br>
@@ -32,6 +32,8 @@<br>
 #define MASTER_ZNONE BASE_ZNODE "/master"<br>
 #define LOCK_ZNODE BASE_ZNODE "/lock"<br>
<br>
+static int zk_timeout = SESSION_TIMEOUT;<br>
+<br>
 /* structure for distributed lock */<br>
 struct cluster_lock {<br>
        struct hlist_node hnode;<br>
@@ -930,7 +932,8 @@ static int zk_join(const struct sd_node *myself,<br>
        snprintf(path, sizeof(path), MEMBER_ZNODE "/%s", node_to_str(myself));<br>
        rc = zk_node_exists(path);<br>
        if (rc == ZOK) {<br>
-               sd_err("Previous zookeeper session exist, shoot myself.");<br>
+               sd_err("Previous zookeeper session exist, shoot myself. Please "<br>
+                      "wait for %d seconds to join me again.", zk_timeout);<br>
                exit(1);<br>
        }<br>
<br>
@@ -1289,7 +1292,7 @@ static void zk_unlock(uint64_t lock_id)<br>
 static int zk_init(const char *option)<br>
 {<br>
        char *hosts, *to, *p;<br>
-       int ret, timeout = SESSION_TIMEOUT;<br>
+       int ret;<br>
<br>
        if (!option) {<br>
                sd_err("You must specify zookeeper servers.");<br>
@@ -1298,7 +1301,7 @@ static int zk_init(const char *option)<br>
<br>
        hosts = strtok((char *)option, "=");<br>
        if ((to = strtok(NULL, "="))) {<br>
-               if (sscanf(to, "%u", &timeout) != 1) {<br>
+               if (sscanf(to, "%u", &zk_timeout) != 1) {<br>
                        sd_err("Invalid paramter for timeout");<br>
                        return -1;<br>
                }<br>
@@ -1306,8 +1309,8 @@ static int zk_init(const char *option)<br>
                *--p = '\0';<br>
        }<br>
        sd_debug("version %d.%d.%d, address %s, timeout %d", ZOO_MAJOR_VERSION,<br>
-                ZOO_MINOR_VERSION, ZOO_PATCH_VERSION, hosts, timeout);<br>
-       zhandle = zookeeper_init(hosts, zk_watcher, timeout, NULL, NULL, 0);<br>
+                ZOO_MINOR_VERSION, ZOO_PATCH_VERSION, hosts, zk_timeout);<br>
+       zhandle = zookeeper_init(hosts, zk_watcher, zk_timeout, NULL, NULL, 0);<br>
        if (!zhandle) {<br>
                sd_err("failed to connect to zk server %s", option);<br>
                return -1;<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.1.2<br>
<br>
--<br>
sheepdog mailing list<br>
<a href="mailto:sheepdog@lists.wpkg.org">sheepdog@lists.wpkg.org</a><br>
<a href="http://lists.wpkg.org/mailman/listinfo/sheepdog" target="_blank">http://lists.wpkg.org/mailman/listinfo/sheepdog</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>--<br>Best Regard<br>Robin Dong
</div>