commit | cc0fdaae965d77e6b9347ea9ddecf597d00d8117 | [log] [tgz] |
---|---|---|
author | Huizhi Lu <ihuizhi.lu@gmail.com> | Thu Jul 23 11:03:54 2020 -0700 |
committer | Jiajun Wang <jjwang@linkedin.com> | Thu Oct 08 11:27:14 2020 -0700 |
tree | ac277b85c0411e9522d36b1fce8d3a3b18f0ba10 | |
parent | 7e8b8562b909a4f4baccb92c8321e901392e6862 [diff] |
ZkClient should not keep retrying getChildren() due to large number of children (#1109) For ZkClient's getChildren() operation, if there are a large number of children and the response packet size exceeds jute.maxbuffer default value 4MB on zk client side, ZkClient will get a ConnectionLossException and keep retrying connecting to ZK. The consequence is, the infinite retry may cause heavy GC on ZK server and kill ZK server. This commit implements a workaround to exit retry loop for getChildren() if a large number of children cause connection loss.
Helix is part of the Apache Software Foundation.
Project page: http://helix.apache.org/
Mailing list: http://helix.apache.org/mail-lists.html
mvn clean install package -DskipTests
Helix is a generic cluster management framework used for automatic management of partitioned, replicated and distributed resources hosted on a cluster of nodes. Helix provides the following features: