[ https://issues.apache.org/jira/browse/ZOOKEEPER-1808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13818034#comment-13818034 ]
Germán Blanco commented on ZOOKEEPER-1808: ------------------------------------------ If I am not wrong, not-updated servers will interpret the new length as a very large number, try to read all those bytes and wait for a very long time. I don't see any way to encode the version in the existing fields of the message, it will always confuse not-updated servers. One backwards compatible option that I see at the moment is adding version at the end and using a correct greater length so that non-updated servers handle updated servers using the current backwards compatibility code (ignoring peerEpoch and extracting it from zxid). Another might be encoding the version in the sid that gets send in the connection establishment. Maybe updated servers could start using the higher bits of the long in the same way that you have done for the length of the message. They will be seen as very high sids by not-updated servers, but maybe that is not a problem. > Add version to FLE notifications for 3.4 branch > ----------------------------------------------- > > Key: ZOOKEEPER-1808 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1808 > Project: ZooKeeper > Issue Type: Sub-task > Reporter: Flavio Junqueira > Assignee: Flavio Junqueira > Fix For: 3.4.6 > > Attachments: ZOOKEEPER-1808.patch, ZOOKEEPER-1808.patch, > ZOOKEEPER-1808.patch > > > Add version to notification messages so that we can differentiate messages > during rolling upgrades. This task is for the 3.4 branch only. -- This message was sent by Atlassian JIRA (v6.1#6144)