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

Reply via email to