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)