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

Flavio Junqueira commented on ZOOKEEPER-1551:
---------------------------------------------

Thanks for the clarifications. I actually forgot that we send the transaction 
with INFORM. 

I was wondering about this part of the code:

{noformat}
+                    if (!snapshotTaken) {
+                        // Apply to db directly if we haven't taken the 
snapshot
+                        zk.processTxn(packet.hdr, packet.rec);
+                    } else {
+                        packetsNotCommitted.add(packet);
+                        packetsCommitted.add(qp.getZxid());
+                    }
{noformat}

INFORM is supposed to inform an observer of a committed transaction, so why 
keep them as not committed? I'm getting the impression that this is related to 
the issue of ZOOKEEPER-1549.
                
> 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