[ https://issues.apache.org/jira/browse/ZOOKEEPER-1381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287524#comment-13287524 ]
nkeywal commented on ZOOKEEPER-1381: ------------------------------------ I'm having a look at this. It's easy to add a server and client function to get the server version. However, when trying to use a newer client with an older server, the client hangs when it tries to use a function not known by the server (that's the case for multi for example). Is there a recommended solution/workaround? A time out is possible, but if it's too short it can retrieve wrong results (false positive), if it's too large it may be too slow when used on an old server... > Add a method to get the zookeeper server version from the client > ---------------------------------------------------------------- > > Key: ZOOKEEPER-1381 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1381 > Project: ZooKeeper > Issue Type: Improvement > Components: c client, documentation, java client, server > Affects Versions: 3.4.2 > Environment: all > Reporter: nkeywal > Priority: Minor > Labels: newbie > > Zookeeper client API is designed to be server version agnostic as much as > possible, so we can have new clients with old servers (or the opposite). But > there is today no simple way for a client to know what's the server version. > This would be very useful in order to; > - check the compatibility (ex: 'multi' implementation available since 3.4 > while 3.4 clients API supports 3.3 servers as well) > - have different implementation depending on the server functionalities > A workaround (proposed by Mahadev Konar) is do "echo stat | nc hostname > clientport" and parse the output to get the version. The output is, for > example: > ----------------------- > Zookeeper version: 3.4.2--1, built on 01/30/2012 17:43 GMT > Clients: > /127.0.0.1:54951[0](queued=0,recved=1,sent=0) > Latency min/avg/max: 0/0/0 > Received: 1 > Sent: 0 > Outstanding: 0 > Zxid: 0x500000001 > Mode: follower > Node count: 7 > -------------------- -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira