Patrick Hunt commented on ZOOKEEPER-829:

Implementing as part of /zookeeper (a znode) allows us to easily add this 
feature (vs changing the wire protocol). Integration with existing zk 
clients/libs/bindings/etc... will be simplified. Also we get ACLs in the 

Note that this also solves a lot of problems wrt client side testing - session 
expiration and disconnection will both be easy features to provide.

I suggest we use commands like "expire" and "disconnect" rather than "kill"

Another idea comes to mind - we might have /zookeeper/sessions/<id> and also 
/zookeeper/<serverid>/sessions/<id>, this second option would allow for a 
"supervisory" process to monitor load on the servers and forcibly disconnect 
clients, thereby redistributing the load. This has been a bane for us 
(equitable load distribution on the servers) and a feature like this seems like 
a great solution.

> Add /zookeeper/sessions/* to allow inspection/manipulation of client sessions
> -----------------------------------------------------------------------------
>                 Key: ZOOKEEPER-829
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-829
>             Project: Zookeeper
>          Issue Type: New Feature
>          Components: server
>            Reporter: Todd Lipcon
> For some use cases in HBase (HBASE-1316 in particular) we'd like the ability 
> to forcible expire someone else's ZK session. Patrick and I discussed on IRC 
> and came up with an idea of creating nodes in /zookeeper/sessions/<session 
> id> that can be read in order to get basic stats about a session, and written 
> in order to manipulate one. The manipulation we need in HBase is the ability 
> to write a command like "kill", but others might be useful as well.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to