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

Back-port ZOOKEEPER-1460 to 3.4 for IPv6 literal address support.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 3.4.9
    • quorum
    • None
    • Reviewed

    Description

      Via code inspection, I see that the "server.nnn" configuration key does not support literal IPv6 addresses because the property value is split on ":". In v3.4.3, the problem is in QuorumPeerConfig:

      String parts[] = value.split(":");
      InetSocketAddress addr = new InetSocketAddress(parts[0],
                              Integer.parseInt(parts[1]));
      

      In the current trunk (http://svn.apache.org/viewvc/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java?view=markup) this code has been refactored into QuorumPeer.QuorumServer, but the bug remains:

      String serverClientParts[] = addressStr.split(";");
      String serverParts[] = serverClientParts[0].split(":");
      addr = new InetSocketAddress(serverParts[0],
                              Integer.parseInt(serverParts[1]));
      

      This bug probably affects very few users because most will naturally use a hostname rather than a literal IP address. But given that IPv6 addresses are supported for clients via ZOOKEEPER-667 it seems that server support should be fixed too.

      Attachments

        1. ZOOKEEPER-2452.patch
          10 kB
          Abraham Fine

        Issue Links

          Activity

            People

              abrahamfine Abraham Fine
              cnauroth Chris Nauroth
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: