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

krystal he updated ZOOKEEPER-4681:
----------------------------------
    Attachment: zookeeper-X-violation.patch

> Uncommitted requests  have been executed
> ----------------------------------------
>
>                 Key: ZOOKEEPER-4681
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4681
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum
>    Affects Versions: 3.5.8
>            Reporter: krystal he
>            Priority: Major
>         Attachments: zookeeper-X-violation.patch
>
>
> Using a [tool|https://github.com/kry4tall/CC-ZOO358] that I modifyed from 
> [Filip Niksic's zootester|https://github.com/fniksic/zootester] for testing 
> ZooKeeper, I discovered the following scenario which causes uncommitted 
> requests to be executed.
> Zab protocol has three rounds: PROPOSE, ACK, and COMMIT. My tool can isolate 
> the PROPOSAL, ACK and COMMIT messages and collect the values of some 
> variables of each server at the end of each round.
> Initially, start an ensemble with 3 servers called A, B, and C, and 
> initialize 2 znodes called /key0 and /key1, and set them to 0 and 1 
> respectively.
>  # Request to set /key0 to 1000 on 3 servers.
>  # Isolate the ack messages of 2 servers.
>  # Request to set /key0 to 1001 on 3 servers.
>  # Stop all servers and restart them.
>  # Check the contents of /key0 and /key1. Surprisingly, both requests 
> worked,reading /key0 == 1000, /key1 == 1001.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to