[ https://issues.apache.org/jira/browse/ZOOKEEPER-1633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13591611#comment-13591611 ]
Flavio Junqueira commented on ZOOKEEPER-1633: --------------------------------------------- Ok, fixed. Could you check it out now, Alex? > Introduce a protocol version to connection initiation message > ------------------------------------------------------------- > > Key: ZOOKEEPER-1633 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1633 > Project: ZooKeeper > Issue Type: Bug > Components: server > Reporter: Alexander Shraer > Assignee: Alexander Shraer > Fix For: 3.4.6 > > Attachments: ZOOKEEPER-1633.patch, ZOOKEEPER-1633-v4.patch, > ZOOKEEPER-1633-v4.patch, ZOOKEEPER-1633-ver2.patch, ZOOKEEPER-1633-ver3.patch > > > Currently the first message a server sends to another server includes just > one field - the server's id (long). This is in QuorumCnxManager.java. This > makes changes to the information passed during this initial connection very > difficult. This patch will change the first field of the message to be a > protocol version (a negative number that can't be a server id). The second > field will be the server id. The third field is number of bytes in the > remainder of the message. A 3.4 server will read the first field as before, > but if this is a negative number it will read the second field to find the > server id, and then remove the remainder of the message from the stream. This > will not affect 3.4 since 3.4 and earlier servers send just the server id (so > the code in the patch will not run unless there is a server > 3.4 trying to > connect). This will, however, provide the necessary flexibility for future > releases as well as an upgrade path from 3.4 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira