zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Travis Crawford <traviscrawf...@gmail.com>
Subject Re: Identify ephemeral node owner
Date Tue, 29 Mar 2011 21:58:59 GMT
Thanks for the info! That initial session creation log line would be
quite handy if it hadn't been rotated away in this case :) I'll
probably change the registration code to include info about who
created the node - in this case I'll track the process down via some
other route.

ZOOKEEPER-829 is interesting btw, sort of like /proc - nice!

--travis



On Tue, Mar 29, 2011 at 2:47 PM, Patrick Hunt <phunt@apache.org> wrote:
> Hi Travis,
>
> as Mahadev mentioned, when a client establishes a session with a
> server the host id is logged to the server log:
> 2011-03-29 14:41:59,741 - INFO  [SyncThread:0:NIOServerCnxn@1580] -
> Established session 0x12f0390e7520000 with negotiated timeout 30000
> for client /127.0.0.1:47789
>
> You could examine the ephemeral owner and grep the logs for this
> (that's what I typically do).
>
> A second more complex option; the client could note it's session id,
> along with some other identifying information
> (host/process/user/etc...) as a ZNode as part of it's joining the
> cluster. This would obv require changes on the client side though.
>
> There's also this jira, might be a good idea for us to capture some
> client specific information here (although we'd have to watch out for
> security issues with this, exposing this information only to
> appropriate parties...)
> https://issues.apache.org/jira/browse/ZOOKEEPER-829
>
> Patrick
>
> On Tue, Mar 29, 2011 at 2:38 PM, Mahadev Konar <mahadev@apache.org> wrote:
>> Travis,
>>  the only way to track an ephemeral node is the session id, in your case:
>>
>> 301083794498035291. You can find which ip has this session by mining
>> the logs for zookeeper servers, but for pin pointing which process
>> unfortunately you'll have to look at your process logs and see which
>> one created that session.
>>
>> thanks
>> mahadev
>>
>> The session id is the session which the znode belongs to. For finding
>> the process that m
>>
>> On Tue, Mar 29, 2011 at 2:29 PM, Travis Crawford
>> <traviscrawford@gmail.com> wrote:
>>> Hey zookeepers -
>>>
>>> Is there a way to map the ephemeral node owner session back to the
>>> process holding that node open? For example, given the following znode
>>> stat output from the python client I'm interested in finding who has
>>> this open.
>>>
>>> {'pzxid': 17302254734L, 'ctime': 1301279980630L, 'aversion': 0,
>>> 'mzxid': 17302254734L, 'numChildren': 0, 'ephemeralOwner':
>>> 301083794498035291L, 'version': 0, 'dataLength': 0, 'mtime':
>>> 1301279980630L, 'cversion': 0, 'czxid': 17302254734L}
>>>
>>>
>>> Grep'ing through zookeeper.log I found lines like follows referencing
>>> the ephemeralOwner number, however, nothing useful in tracking down
>>> the process holding it open.
>>>
>>> 2011-03-29 13:12:50,083 - INFO
>>> [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:Learner@95] - Revalidating
>>> client: 301083794498035291
>>>
>>>
>>> Thanks!
>>> Travis
>>>
>>
>>
>>
>> --
>> thanks
>> mahadev
>> @mahadevkonar
>>
>

Mime
View raw message