[
https://issues.apache.org/jira/browse/ZOOKEEPER-2000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hongchao Deng updated ZOOKEEPER-2000:
-------------------------------------
Description:
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.
was:
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.
> 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
>
>
> 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)