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

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.4.9
    • Component/s: quorum
    • Labels:
      None
    • Hadoop Flags:
      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

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: