Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZOOKEEPER-4883: Rollover leader epoch when zxid counter is exhausted #2208

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

kezhuw
Copy link
Member

@kezhuw kezhuw commented Oct 28, 2024

The rollover procedure:

  1. Treats last proposal of an epoch as rollover proposal.
  2. Requests from next epoch are proposed normally.
  3. Fences next epoch once rollover proposal persisted.
  4. Proposals from next epoch will not be written to disk before rollover committed.
  5. Leader commits rollover proposal once it get quorum ACKs.
  6. Blocked new epoch proposals are logged once rollover proposal is committed in corresponding nodes.

This results in:

  1. No other lead cloud lead using next epoch number once rollover proposal is considered committed.
  2. No proposals from next epoch will be written to disk before rollover proposal is considered committed.

Refs: ZOOKEEPER-1277, ZOOKEEPER-2789, ZOOKEEPER-4870, ZOOKEEPER-4882, ZOOKEEPER-4570 and ZOOKEEPER-4571

The rollover procedure:
1. Treats last proposal of an epoch as rollover proposal.
2. Requests from next epoch are proposed normally.
3. Fences next epoch once rollover proposal persisted.
4. Proposals from next epoch will not be written to disk before rollover
   committed.
5. Leader commits rollover proposal once it get quorum ACKs.
6. Blocked new epoch proposals are logged once rollover proposal is
   committed in corresponding nodes.

This results in:
1. No other lead cloud lead using next epoch number once rollover
   proposal is considered committed.
2. No proposals from next epoch will be written to disk before rollover
   proposal is considered committed.

Refs: ZOOKEEPER-1277, ZOOKEEPER-2789, ZOOKEEPER-4870, ZOOKEEPER-4882,
ZOOKEEPER-4570 and ZOOKEEPER-4571
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant