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

Arshad Mohammad updated ZOOKEEPER-2307:
---------------------------------------
    Attachment: ZOOKEEPER-2307-03.patch

Previous patch failed two tested cases {{testTxnTimeout}} and {{testNormalRun}} 
in {{org.apache.zookeeper.server.quorum.Zab1_0Test}} This happened because 
after this issue fix currentEpoch and acceptedEpoch update takes more time as 
it is first written to file and then run time value is changed. 

To fix the these failing test case, now we should wait at least for a time 
taken to write small data to a file.

> ZooKeeper not starting because acceptedEpoch is less than the currentEpoch
> --------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2307
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2307
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>            Reporter: Arshad Mohammad
>            Assignee: Arshad Mohammad
>            Priority: Critical
>             Fix For: 3.5.2
>
>         Attachments: ZOOKEEPER-2307-01.patch, ZOOKEEPER-2307-02.patch, 
> ZOOKEEPER-2307-03.patch
>
>
> This issue occurred in one of our test environment where disk was being 
> changed to read only very frequently.
> The the scenario is as follows:
> # Configure three node ZooKeeper cluster, lets say nodes are A, B and C
> # Start A and B. Both A and B start successfully, quorum is running.
> # Start C, because of IO error C fails to update acceptedEpoch file. But C 
> also starts successfully, joins the quorum as follower
> # Stop C
> # Start C, bellow exception with message "The accepted epoch, 0 is less than 
> the current epoch, 1" is thrown
> {code}
> 2015-10-29 16:52:32,942 [myid:3] - ERROR [main:QuorumPeer@784] - Unable to 
> load database on disk
> java.io.IOException: The accepted epoch, 0 is less than the current epoch, 1
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:781)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:720)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:202)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:139)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:88)
> 2015-10-29 16:52:32,946 [myid:3] - ERROR [main:QuorumPeerMain@111] - 
> Unexpected exception, exiting abnormally
> java.lang.RuntimeException: Unable to run quorum server 
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:785)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:720)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:202)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:139)
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:88)
> Caused by: java.io.IOException: The accepted epoch, 0 is less than the 
> current epoch, 1
>       at 
> org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:781)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to