python使用kazoo操作zookeeper时候出现的"kazoo.exceptions.ConnectionLoss"错误

在往zk中写入数据的时候,突然遇到

“kazoo.exceptions.ConnectionLoss“错误,然而对zk链接进行检查,在set之前状态是”CONNECT“。

经过测试后发现是因为写入的字节长度过长导致的。


def SetTest(self):
self.zk.ensure_path("/a/c")
self.zk.ensure_path("/a/d")
self.zk.set("/a/c", json.dumps([i for i in range(144957)]))
self.zk.set("/a/d", json.dumps([i for i in range(144958)]))

如上函数中,第一个set操作可以成功,但是第二个set操作则会报错。
原因就是第二个set操作,写入的字节数过长导致。

如果无法将字节数缩短,应该进行zlib压缩再写入。
再读取的时候,先进行解压缩,再解析文本内容。
posted @ 2017-12-18 20:54  川川籽  阅读(1596)  评论(0编辑  收藏  举报