You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Patrick Hunt (JIRA)" <ji...@apache.org> on 2010/07/29 19:39:16 UTC

[jira] Commented: (ZOOKEEPER-829) Add /zookeeper/sessions/* to allow inspection/manipulation of client sessions

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893729#action_12893729 ] 

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 bargain.

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.