[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Shraer updated ZOOKEEPER-1675:
----------------------------------------

    Description: 
sync + read is supposed to return at least the latest write that completes 
before the sync starts. This is true if the leader doesn't change, but when it 
does it may not work. The problem happens when the old leader L1 still thinks 
that it is the leader but some other leader L2 was already elected and 
committed some operations. Suppose that follower F is connected to L1 and 
invokes a sync. Even though L1 responds to the sync, the recent operations 
committed by L2 will not be flushed to F so a subsequent read on F will not see 
these operations. 

To prevent this we should broadcast the sync like updates.

This problem is also mentioned in Section 4.4 of the ZooKeeper peper (but the 
proposed solution there is insufficient to solve the issue).

  was:
sync + read is supposed to return at least the latest write that completes 
before the sync starts. This is true if the leader doesn't change, but when it 
does it may not work. The problem happens when the old leader L1 still thinks 
that it is the leader but some other leader L2 was already elected and 
committed some operations. Suppose that follower F is connected to L1 and 
invokes a sync. Even though L1 responds to the sync, L2 may have already 
committed new operations so a subsequent read on F will not return these 
operations. 

To prevent this we should broadcast the sync like updates.

This problem is also mentioned in Section 4.4 of the ZooKeeper peper (but the 
proposed solution there is insufficient to solve the issue).

    
> Make sync a quorum operation
> ----------------------------
>
>                 Key: ZOOKEEPER-1675
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1675
>             Project: ZooKeeper
>          Issue Type: Bug
>    Affects Versions: 3.4.0, 3.5.0
>            Reporter: Alexander Shraer
>
> sync + read is supposed to return at least the latest write that completes 
> before the sync starts. This is true if the leader doesn't change, but when 
> it does it may not work. The problem happens when the old leader L1 still 
> thinks that it is the leader but some other leader L2 was already elected and 
> committed some operations. Suppose that follower F is connected to L1 and 
> invokes a sync. Even though L1 responds to the sync, the recent operations 
> committed by L2 will not be flushed to F so a subsequent read on F will not 
> see these operations. 
> To prevent this we should broadcast the sync like updates.
> This problem is also mentioned in Section 4.4 of the ZooKeeper peper (but the 
> proposed solution there is insufficient to solve the issue).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to