It looks like this is a limitation of Curator. Multiple auth support would need
to be added. Please open an issue in the Curator Jira.
For now, you’ll need to get the underlying ZooKeeper instance directly and add
it:
curator.getZookeeperClient().getZooKeeper().addAuth(…)
Note, however, that if there is a connection problem Curator will allocate a
new ZooKeeper instance and you’d have to add the auth to that as well.
-Jordan
From: Karthik Kambatla [email protected]
Reply: [email protected] [email protected]
Date: May 30, 2014 at 12:07:23 PM
To: [email protected] [email protected]
Subject: CuratorFramework: multiple auths
Hi
I am very new to Curator, but have used ZK before. Firstly, let me thank you
for putting Curator together - it makes talking to Zookeeper very easy.
I have one of those noob questions and will greatly appreciate any help.
For my usecase, I need multiple auths - multiple schemes - for my connection.
In the vanilla ZK world, I would call Zookeeper#addAuthInfo for each of my
schemes. How do I achieve the same using Curator?
CuratorFrameworkFactory.Builder#authorization seems to allow adding a single
auth. I googled around but couldn't find much information. I was considering
calling CuratorFramework#getZookeeperClient#getZookeeper()#addAuthInfo, but
wasn't sure if these auths would be preserved across disconnects/ session
timeouts.
Is there a way to either add multiple auths or get notified if the underlying
client changes?
Thanks again for all your help,
Karthik