zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "maoling (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ZOOKEEPER-2989) IPv6 literal address causes problems for Quorum members
Date Thu, 21 Jun 2018 09:57:00 GMT

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-2989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

maoling updated ZOOKEEPER-2989:
-------------------------------
    Description: 
We're using ZK 3.5.3-beta.

When using literal IPv6 addresses in the zoo.cfg.dynamic file, ZK fails to come up with the
connection to the peer ZKs keeps getting reset.

zookeeper.log indicates a badly formed address is the cause.
{noformat}
<2018.03.01 15:14:30 163 -0500><E><sdn3></2001:db8:0:0:0:0:0:4:3888><org.apache.zookeeper.server.quorum.QuorumCnxManager>
org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException:
Badly formed address: 2001:db8:0:0:0:0:0:2:3888{noformat}
Our zoo.cfg.dynamic uses literal IPv6 addresses which according to ZOOKEEPER-1460 is supported.
{noformat}
server.1=[2001:db8::2]:2888:3888
server.2=[2001:db8::3]:2888:3888
server.3=[2001:db8::4]:2888:3888{noformat}
 

Digging into QuorumCnxManager.java, InitialMessage.parse attemps to seperate the host portion
from the port portion using ":" as a delimeter, which is a problem for IPv6 IPs.  And there's
this comment:
{code:java}
// FIXME: IPv6 is not supported. Using something like Guava's HostAndPort
// parser would be good.{code}
So it looks like peers address:port is failing to be parsed if they are specified as literal
IPv6 addresses.  To confirm a workaround, I replaced my zoo.cfg.dynamic with hostnames instead,
and everything worked as expected.

 

 

 

 

  was:
We're using ZK 3.5.3-beta.

When using literal IPv6 addresses in the zoo.cfg.dynamic file, ZK fails to come up with the
connection to the peer ZKs keeps getting reset.

zookeeper.log indicates a badly formed address is the cause.
{noformat}
<2018.03.01 15:14:30 163 -0500><E><sdn3></2001:db8:0:0:0:0:0:4:3888><org.apache.zookeeper.server.quorum.QuorumCnxManager>
org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException:
Badly formed address: 2001:db8:0:0:0:0:0:2:3888{noformat}
Our zoo.cfg.dynamic uses literal IPv6 addresses which according to ZOOKEEPER-1460 is supported.
{noformat}
server.1=[2001:db8::2]:2888:3888;2181
server.2=[2001:db8::3]:2888:3888;2181
server.3=[2001:db8::4]:2888:3888;2181{noformat}
 

Digging into QuorumCnxManager.java, InitialMessage.parse attemps to seperate the host portion
from the port portion using ":" as a delimeter, which is a problem for IPv6 IPs.  And there's
this comment:
{code:java}
// FIXME: IPv6 is not supported. Using something like Guava's HostAndPort
// parser would be good.{code}
So it looks like peers address:port is failing to be parsed if they are specified as literal
IPv6 addresses.  To confirm a workaround, I replaced my zoo.cfg.dynamic with hostnames instead,
and everything worked as expected.

 

 

 

 


> IPv6 literal address causes problems for Quorum members
> -------------------------------------------------------
>
>                 Key: ZOOKEEPER-2989
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2989
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum
>    Affects Versions: 3.5.3
>            Reporter: Rick Trudeau
>            Assignee: maoling
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> We're using ZK 3.5.3-beta.
> When using literal IPv6 addresses in the zoo.cfg.dynamic file, ZK fails to come up with the
connection to the peer ZKs keeps getting reset.
> zookeeper.log indicates a badly formed address is the cause.
> {noformat}
> <2018.03.01 15:14:30 163 -0500><E><sdn3></2001:db8:0:0:0:0:0:4:3888><org.apache.zookeeper.server.quorum.QuorumCnxManager>
org.apache.zookeeper.server.quorum.QuorumCnxManager$InitialMessage$InitialMessageException:
Badly formed address: 2001:db8:0:0:0:0:0:2:3888{noformat}
> Our zoo.cfg.dynamic uses literal IPv6 addresses which according to ZOOKEEPER-1460 is
supported.
> {noformat}
> server.1=[2001:db8::2]:2888:3888
> server.2=[2001:db8::3]:2888:3888
> server.3=[2001:db8::4]:2888:3888{noformat}
>  
> Digging into QuorumCnxManager.java, InitialMessage.parse attemps to seperate the host
portion from the port portion using ":" as a delimeter, which is a problem for IPv6 IPs.  And
there's this comment:
> {code:java}
> // FIXME: IPv6 is not supported. Using something like Guava's HostAndPort
> // parser would be good.{code}
> So it looks like peers address:port is failing to be parsed if they are specified as
literal IPv6 addresses.  To confirm a workaround, I replaced my zoo.cfg.dynamic with hostnames
instead, and everything worked as expected.
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message