You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Rhys Yarranton (JIRA)" <ji...@apache.org> on 2017/02/06 21:27:41 UTC
[jira] [Created] (CURATOR-384)
EnsembleTacker.configToConnectionString can render connection impossible
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)