[
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