Rhys Yarranton created CURATOR-384:
--------------------------------------
Summary: EnsembleTacker.configToConnectionString can render
connection impossible
Key: CURATOR-384
URL: https://issues.apache.org/jira/browse/CURATOR-384
Project: Apache Curator
Issue Type: Bug
Components: Framework
Affects Versions: 3.2.1
Environment: ZooKeeper 3.5.2-alpha
Reporter: Rhys Yarranton
When Curator starts, it uses the connection string supplied by the user.
However, with Ensembles enabled by default that connection string will later be
overriden by the value constructed in EnsembleTacker.configToConnectionString.
However, in some cases configToConnectionString produces an unusable value. If
the connection is lost, the reconnect will attempt to use the computed value,
and will fail. That node will be forever lost.
Example: The following is a valid ZooKeeper server configuration entry:
{noformat}server.1: somehost:22888:32888;22181{noformat}
ZooKeeper will default the client address host to 0.0.0.0 (_i.e._, listen on
all interfaces). The ZooKeeper server reports this as
localhost:22888:32888:participant;0.0.0.0:22181. configToConnectionString then
turns this into 0.0.0.0:22181. Which will lead to connection refused
exceptions.
Two possible workarounds. One is to change the server config to listen on a
specific host address for client connections. Another would be to explicitly
provide the EnsembleProvider, _e.g.,_ FixedEnsembleProvider with
updateServerListEnabled set to false.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)