I think that this issue occurs when you only have a 'scope link' ipv6 address; I'm running a full IPv6 dual stack and I don't see this issue:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether b8:ac:6f:76:db:40 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.1.255 scope global eth0
inet6 2a01:348:2f4:0:baac:6fff:fe76:db40/64 scope global dynamic
valid_lft 86193sec preferred_lft 14193sec
inet6 fe80::baac:6fff:fe76:db40/64 scope link
valid_lft forever preferred_lft forever
I confirmed remote access both over IPv4 and IPv6 to this zookeeper instance.
The IPv6 binding serves both the IPv6 and IPv4 ports; Java by default prefers IPv6 over IPv4 for this reason but it looks like this might be broken when only a 'scope link' address is present. I see this on Java6 and Java7.
I think that this issue occurs when you only have a 'scope link' ipv6 address; I'm running a full IPv6 dual stack and I don't see this issue:
2: eth0: <BROADCAST, MULTICAST, UP,LOWER_ UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 2f4:0:baac: 6fff:fe76: db40/64 scope global dynamic 6fff:fe76: db40/64 scope link
link/ether b8:ac:6f:76:db:40 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.1.255 scope global eth0
inet6 2a01:348:
valid_lft 86193sec preferred_lft 14193sec
inet6 fe80::baac:
valid_lft forever preferred_lft forever
I confirmed remote access both over IPv4 and IPv6 to this zookeeper instance.
The IPv6 binding serves both the IPv6 and IPv4 ports; Java by default prefers IPv6 over IPv4 for this reason but it looks like this might be broken when only a 'scope link' address is present. I see this on Java6 and Java7.