Chris Larsen created ZOOKEEPER-2103:
---------------------------------------
Summary: ZooKeeper Client Configuration
Key: ZOOKEEPER-2103
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2103
Project: ZooKeeper
Issue Type: New Feature
Components: java client
Affects Versions: 3.6.0
Environment: All
Reporter: Chris Larsen
Priority: Minor
Fix For: 3.6.0
I ran into an issue when connecting to two ZooKeeper clusters from the same JVM
application. One of the clusters required SASL authentication while the other
one did not. Unfortunately the client uses System properties to configure
authentication and the client was attempting to authenticate on the non-auth
cluster, preventing a connection.
To solve it, I implemented a base config class with helper methods for parsing
config settings as well as a client specific subclass that parsed the system
system values but allowed for overriding via programatic values or via a file.
There are also new Zookeeper constructors to use this config object. I
implemented it so that it's completely backwards compatible so it shouldn't
break existing installs (and it hasn't yet with my testing).
If folks like this, we could use the same config base for server configs and
migrate away from system properties to per object configs. It would also be
helpful to centralize more of the "zookeeper.*" strings.
Let me know what ya'll think and thanks!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)