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

              • Assignee:
                symat Mate Szalay-Beko
                Reporter:
                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