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)