[
https://issues.apache.org/jira/browse/ZOOKEEPER-790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Flavio Junqueira updated ZOOKEEPER-790:
---------------------------------------
Attachment: ZOOKEEPER-790.v2.patch
Thanks for providing a code base for the test, Sergey. I liked QuorumUtil so
much that I have reimplemented the previous test to use it. This is in fact
aligned with a discussion Ben and I had the other day about refactoring
QuorumBase. You have introduced pretty much all functionality I was looking
for, which simplified the test code.
I hope you don't mind that I have made some modifications to your original
test. My proposed modifications are to make sure that we induce the right set
of events. In the modified version, I have made sure that we have a client
connecting to a follower and that we kill the leader so that we force a new
election. In fact, the test was not always reliable for me in its original form.
The patch works for me.
> Last processed zxid set prematurely while establishing leadership
> -----------------------------------------------------------------
>
> Key: ZOOKEEPER-790
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-790
> Project: Zookeeper
> Issue Type: Bug
> Components: quorum
> Affects Versions: 3.3.1
> Reporter: Flavio Junqueira
> Assignee: Flavio Junqueira
> Priority: Blocker
> Fix For: 3.3.2, 3.4.0
>
> Attachments: ZOOKEEPER-790-3.3.patch, ZOOKEEPER-790-3.3.patch,
> ZOOKEEPER-790-follower-request-NPE.log, ZOOKEEPER-790-test.patch,
> ZOOKEEPER-790.patch, ZOOKEEPER-790.patch, ZOOKEEPER-790.patch,
> ZOOKEEPER-790.patch, ZOOKEEPER-790.patch, ZOOKEEPER-790.travis.log.bz2,
> ZOOKEEPER-790.v2.patch, ZOOKEEPER-790.v2.patch
>
>
> The leader code is setting the last processed zxid to the first of the new
> epoch even before connecting to a quorum of followers. Because the leader
> code sets this value before connecting to a quorum of followers
> (Leader.java:281) and the follower code throws an IOException
> (Follower.java:73) if the leader epoch is smaller, we have that when the
> false leader drops leadership and becomes a follower, it finds a smaller
> epoch and kills itself.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.