Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.5.6
Description
Zookeeper C Client periodically resolves server names since https://issues.apache.org/jira/browse/ZOOKEEPER-1355
After dns resolution ip addresses are checked against previous set of addresses. However, currently only several bytes are checked (it is assumed, that all addresses are ipv4 length bytes).
Case:
1) zookeeper server operates only by ipv6
2) client connects to it by some hostname (zookeeper-1.news.yandex.ru, for example)
3) container with zookeeper server dies, new container is up, and zookeeper-1.news.yandex.ru now points to new address
4) several bits in ipv6 address are changed
5) zookeeper client ignores changes in address, because of incorrect strcmp size and first bytes were equal
6) zookeeper client now can't reconnect to zookeeper without manual intervention, because it tries old address
This is proposed fix: https://github.com/apache/zookeeper/pull/1252
Attachments
Issue Links
- fixes
-
ZOOKEEPER-1677 Misuse of INET_ADDRSTRLEN
- Closed
-
ZOOKEEPER-2490 infinitely connect on windows
- Closed
- relates to
-
ZOOKEEPER-1677 Misuse of INET_ADDRSTRLEN
- Closed
-
ZOOKEEPER-2490 infinitely connect on windows
- Closed
-
ZOOKEEPER-1355 Add zk.updateServerList(newServerList)
- Resolved
- links to