hadoop-zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Hunt <ph...@apache.org>
Subject Re: How do we find the Server the client is connected to?
Date Thu, 01 Oct 2009 23:36:34 GMT
It's possible, but not pretty.

Try this:

1) create a subclass of ZooKeeper to be used in your tests

2) in the subclass add something like this:

     public String getConnectedServer() {
         return ((SocketChannel)cnxn.sendThread.sockKey.channel()).socket()
             .getInetAddress().toString();
     }

Feel free to add a JIRA, I think we could make this a protected method 
on ZooKeeper to make testing easier (and not expose internals).

Regards,

Patrick

Todd Greenwood wrote:
> Failover testing.
> 
>> -----Original Message-----
>> From: Patrick Hunt [mailto:phunt@apache.org]
>> Sent: Thursday, October 01, 2009 3:44 PM
>> To: zookeeper-user@hadoop.apache.org; Rob Baccus
>> Subject: Re: How do we find the Server the client is connected to?
>>
>> That detail is purposefully not exposed through the client api,
> however
>> it is output to the log on connection establishment.
>>
>> Why would your client code need to know which server in the ensemble
> it
>> is connected to?
>>
>> Patrick
>>
>> Rob Baccus wrote:
>>> How do I determine the server the client is connected to?  It is not
>>> exposed as far as I can see in either the ZooKeep object or the
>>> ClentCnxn object.  I did find on line 790 in
> ClientCnxn.StartConnect()
>>> method the place the actual server connection is happening but that
> is
>>> not exposed.
>>>
>>> Rob Baccus
>>> 425-201-3812
>>>
>>>

Mime
View raw message