[ 
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)

Reply via email to