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

Thawan Kooburat commented on ZOOKEEPER-1551:
--------------------------------------------

1. If we do a bit of refactoring on ObserverZookeeperServer, then it should be 
able to use the same logic. However, this will also require us keep track of 
pendingTxns like FollowerZookeeperServer which have a separate method for 
logRequest() and commit(). 

2. During normal operation, observers receive in-flight txns via INFORM packets 
which include the request itself. So the request from outstanding proposals 
will eventually reach the observer as INFORM packet after startForwarding() is 
called. There is no need for observer to receive these proposals.

I intended to have this patch on-top of ZOOKEEPER-1552.
                
> Observer ignore txns that comes after snapshot and UPTODATE 
> ------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1551
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1551
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.4.3
>            Reporter: Thawan Kooburat
>            Assignee: Thawan Kooburat
>            Priority: Critical
>             Fix For: 3.5.0
>
>         Attachments: ZOOKEEPER-1551.patch
>
>
> In Learner.java, txns which comes after the learner has taken the snapshot 
> (after NEWLEADER packet) are stored in packetsNotCommitted. The follower has 
> special logic to apply these txns at the end of syncWithLeader() method. 
> However, the observer will ignore these txns completely, causing data 
> inconsistency. 

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