Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-3726

invalid ipv6 address comparison in C client

    XMLWordPrintableJSON

Details

    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

          Activity

            People

              symat Mate Szalay-Beko
              vtyulb Vladislav Tyulbashev
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2.5h
                  2.5h