jinx

> On Dec 16, 2015, at 4:21 PM, Cameron McKenzie <[email protected]> wrote:
> 
> I would think that anything implemented on the Curator side would be prone to 
> race conditions if there were multiple Curator instances running within a JVM 
> instance. Because if we clear that global flag to make a connection for a 
> Curator instance that doesn't want authentication at the same time that 
> another instance wanting to create / reconnect a connection with 
> authentication, one of them is going to potentially go wrong.
> 
> I guess the simple solution for the initial poster (Dave) is to run in 
> separate VMs, but I guess that's not an option?
> 
> On Thu, Dec 17, 2015 at 8:18 AM, Jordan Zimmerman <[email protected] 
> <mailto:[email protected]>> wrote:
> Oh - that’s true. I didn’t think of that. Maybe we need a new feature here.
> 
>> On Dec 16, 2015, at 4:15 PM, Cameron McKenzie <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Would that cause problems on an attempt to reconnect (doesn't Curator 
>> recreate the ZK client under some circumstances?)?
>> 
>> On Thu, Dec 17, 2015 at 7:37 AM, Jordan Zimmerman 
>> <[email protected] <mailto:[email protected]>> wrote:
>> I just check in the ZK code. It does:
>> 
>>      System.getProperty(Environment.JAAS_CONF_KEY)
>> 
>> So, just manual set/clear this property before creating the Curator instance.
>> 
>> -JZ
>> 
>>> On Dec 16, 2015, at 3:00 PM, Dave Ariens <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Sorry, don't follow.  Let me try and re-phrase:
>>> 
>>> If I launch a JVM with -Djava.security.auth.login.config=jaas.conf
>>> 
>>> and that jaas.conf contains:
>>> 
>>> Client {
>>>   com.sun.security.auth.module.Krb5LoginModule required
>>>   useKeyTab=true
>>>   keyTab="dariens.keytab"
>>>   storeKey=true
>>>   useTicketCache=false
>>>   serviceName="zookeeper"
>>>   debug=true
>>>   principal="[email protected] <mailto:[email protected]>";
>>> };
>>> 
>>> When my application starts I instantiate a CuratorFramework object 
>>> connection to a ZK cluster that authenticates new connections via 
>>> SASLAuthenticationProvider and of course this works as expected.  
>>> 
>>> I now need to instantiate another new CuratorFramework object to another ZK 
>>> cluster that does not perform SASL authentication and any attempt to 
>>> get/set data results in the errors below.
>>> 
>>> Is there a configuration that I can apply when instantiating 
>>> CuratorFrameworks that will not automatically use SaslAuthentication when a 
>>> JAAS login context is present?
>>> 
>>> [2015-12-16 19:47:15,427] ERROR An error: 
>>> (java.security.PrivilegedActionException: 
>>> javax.security.sasl.SaslException: GSS initiate failed [Caused by 
>>> GSSException: No valid credentials provided (Mechanism level: Fail to 
>>> create credential. (63) - No service creds)]) occurred when evaluating 
>>> Zookeeper Quorum Member's  received SASL token. Zookeeper Client will go to 
>>> AUTH_FAILED state. (org.apache.zookeeper.client.ZooKeeperSaslClient)
>>> [2015-12-16 19:47:15,427] ERROR SASL authentication with Zookeeper Quorum 
>>> member failed: javax.security.sasl.SaslException: An error: 
>>> (java.security.PrivilegedActionException: 
>>> javax.security.sasl.SaslException: GSS initiate failed [Caused by 
>>> GSSException: No valid credentials provided (Mechanism level: Fail to 
>>> create credential. (63) - No service creds)]) occurred when evaluating 
>>> Zookeeper Quorum Member's  received SASL token. Zookeeper Client will go to 
>>> AUTH_FAILED state. (org.apache.zookeeper.ClientCnxn)
>>> [2015-12-16 19:47:15,427] ERROR Authentication failed 
>>> (org.apache.curator.ConnectionState)
>>> 
>>> 
>>> 
>>> 
>>> 
>>> From: Jordan Zimmerman [[email protected] 
>>> <mailto:[email protected]>]
>>> Sent: Wednesday, December 16, 2015 2:39 PM
>>> To: [email protected] <mailto:[email protected]>
>>> Subject: Re: multiple curator frameworks mixed authentication modes
>>> 
>>> Check your code. There are no static/global values in Curator.
>>> 
>>> -JZ
>>> 
>>>> On Dec 16, 2015, at 2:29 PM, Dave Ariens <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> My Java application needs to talk to two ZK clusters.
>>>> 
>>>> Cluster one is configured with 
>>>> `authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
>>>>  SASLAuthenticationProvider` and cluster two is not.
>>>> 
>>>> At first glance it would appear that this isn't possible as all curator 
>>>> frameworks instantiated in my JVM are attempting to perform SASL 
>>>> authentication when the JVM is launched with the JAAS configuration 
>>>> containing 'Client' configuration.
>>>> 
>>>> Any chance I'm missing something or is this a known restriction?
>> 
>> 
> 
> 

Reply via email to