When using SASL authentication, waiting for SysConnected isn't enough. Clients need to wait for SaslAuthenticated as well before calling ZK methods. Is there a way for a library such as Curator to know that SASL is enabled so that it can know that it needs to wait for SaslAuthenticated?
I thought about duplicating the code in ZooKeeperSaslClient. i.e.
String clientSection = System.getProperty(ZooKeeperSaslClient.LOGIN_CONTEXT_NAME_KEY, "Client");
entries = Configuration.getConfiguration().getAppConfigurationEntry(clientSection);
If ( entries != null )
// then SASL is enabled
But this seems brittle. Is there another way?