From d402974d42b593b5bb52dd608e0910a49d9ddd4f Mon Sep 17 00:00:00 2001 From: Alun Evans Date: Thu, 20 Dec 2018 09:02:48 +0000 Subject: [PATCH 1/2] Use srvr, not stat --- zk_shell/shell.py | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/zk_shell/shell.py b/zk_shell/shell.py index 3775ae2..bbaab5d 100644 --- a/zk_shell/shell.py +++ b/zk_shell/shell.py @@ -1699,25 +1699,14 @@ def fetch(endpoint, states, znodes, ephemerals, datasize, sessions, zxids, idx): datasize[idx] = int(dsize) sessions[idx] = int(session_count) - def fetch_zxid(endpoint): - zxid = -1 - try: - stat = self._zk.cmd(hosts_to_endpoints(endpoint), "stat") - for line in stat.split("\n"): - if "Zxid:" in line: - zxid = int(line.split(None)[1], 0) - except: - pass - return zxid - - # the stat cmd is a bit flaky, so try a few times - zxid = -1 - for i in range(0, stat_retries): - zxid = fetch_zxid(endpoint) - if zxid != -1: - break - - zxids[idx]= zxid + try: + srvr = self._zk.cmd(hosts_to_endpoints(endpoint), "srvr") + for line in srvr.split("\n"): + if "Zxid:" in line: + zxids[idx] = int(line.split(None)[1], 0) + break + except: + zxids[idx] = -1 workers = [] for idx, endpoint in enumerate(endpoints, 1): From 2b80f272ad3796a50c602cd2235f1874c6c485a2 Mon Sep 17 00:00:00 2001 From: Alun Evans Date: Mon, 7 Jan 2019 09:40:55 -0800 Subject: [PATCH 2/2] CR from @rgs1; need to always set zxids to -1 --- zk_shell/shell.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zk_shell/shell.py b/zk_shell/shell.py index bbaab5d..fb13adc 100644 --- a/zk_shell/shell.py +++ b/zk_shell/shell.py @@ -1698,6 +1698,7 @@ def fetch(endpoint, states, znodes, ephemerals, datasize, sessions, zxids, idx): ephemerals[idx] = int(eph_count) datasize[idx] = int(dsize) sessions[idx] = int(session_count) + zxids[idx] = -1 try: srvr = self._zk.cmd(hosts_to_endpoints(endpoint), "srvr") @@ -1706,7 +1707,7 @@ def fetch(endpoint, states, znodes, ephemerals, datasize, sessions, zxids, idx): zxids[idx] = int(line.split(None)[1], 0) break except: - zxids[idx] = -1 + pass workers = [] for idx, endpoint in enumerate(endpoints, 1):