[
https://issues.apache.org/jira/browse/ZOOKEEPER-2000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hongchao Deng updated ZOOKEEPER-2000:
-------------------------------------
Assignee: Alexander Shraer (was: Hongchao Deng)
> 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,
> ZOOKEEPER-2000.patch
>
>
> Previous changes:
>
> 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.
> ========
> Later changes:
> This is what I have figured out:
> * Server (1) and (2) were followers, (3) was the leader.
> * client connected to (1), did a reconfig().
> * (1) and (2) formed a quorum, reconfig was successful, and returned.
> * (3) still thinks he's the leader, so using LeaderZooKeeperServer.
> * client connected to (3) did a sync(), and the sync didn't go through a
> quorum. THE CLIENT WHO DID SYNC() GETS WRONG BEHAVIOR. There's a split
> brain here for sync().
> * Then (3) gradually moves to the new quorum config.
> I'm proposing to change sync() to need quorum acks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)