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

Hongchao Deng commented on ZOOKEEPER-2000:
------------------------------------------

Hi [~shralex].

I've figured out the root cause of the problem.
When the leader changed the port and renounced the leadership, it should also 
change to user FollowerZooKeeperServer, whose CommitProcessor#matchSyncs = 
true. But in the case it still used LeaderZooKeeperServer, whose 
CommitProcessor#matchSyncs = false.

So the sync isn't ack-ed by a quorum. And the reader gets old data. Can you 
help fix it or give some advice how to fix it on this?

> Fix ReconfigTest.testPortChange
> -------------------------------
>
>                 Key: ZOOKEEPER-2000
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2000
>             Project: ZooKeeper
>          Issue Type: Sub-task
>          Components: tests
>    Affects Versions: 3.5.0
>            Reporter: Alexander Shraer
>            Assignee: Alexander Shraer
>            Priority: Minor
>             Fix For: 3.5.1, 3.6.0
>
>         Attachments: ZOOKEEPER-2000.patch, ZOOKEEPER-2000.patch
>
>
>           testPortChange changes all ports and role of the server and thus 
> causes existing clients to disconnect, while this wouldn't happen if only the 
> client port changes. Need to fix it to only change client port and not all 
> the other parameters and make sure that the clients don't disconnect, while 
> new clients shouldn't be able to connect to the old port.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to