Description
Had tests running which had a quorum of 3 ZooKeeper servers. One appears to have died and the test was then unable to connect to the Accumulo shell, hanging on trying to connect to ZooKeeper.
There was no client.conf file present, so a ClientConfiguration was constructed from accumulo-site.xml.
this.zooKeepers = clientConf.get(ClientProperty.INSTANCE_ZK_HOST);
When the commons configuration AbstractConfiguration class is used with the get() method, only the first element in the value is returned, as the implementation treats the other items as a list because of the default separator of a comma.
It's easily reproduced with the following:
ZooKeeperInstance inst = new ZooKeeperInstance("accumulo", "localhost,127.0.0.1"); System.out.println(inst.getZooKeepers());
The above will print
localhost
instead of the expected
localhost,127.0.0.1
Attachments
Attachments
Issue Links
- is duplicated by
-
ACCUMULO-3485 accumulo client tries to connect only to the first ZK in the list, making it SPOF
- Resolved
-
ACCUMULO-3382 client only connects to first zookeeper instance
- Resolved
- is related to
-
ACCUMULO-3742 Multiple-valued client properties don't work
- Resolved