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
Attachments
Issue Links
- is related to
-
ZOOKEEPER-2247 Zookeeper service becomes unavailable when leader fails to write transaction log
- Closed
-
ZOOKEEPER-1460 IPv6 literal address not supported for quorum members
- Closed