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

特定条件下でノードを再起動すると、リーダの再選出が走ってしまうのを防止する #9

Open
sile opened this issue Oct 12, 2018 · 0 comments

Comments

@sile
Copy link
Member

sile commented Oct 12, 2018

条件:

  • ノードを再起動
  • 該当ノードの停止と再起動の間に、一度もリーダ選出が発生していない(= termが変わっていない)

対応策:

  • 起動直後に一定時間waitを入れれば、それで解決しそうではある
    • Raftの論文では、もともと起動直後はfollower状態で始まる、とあったと思うので、それに従えば良さそう?
  • raftlogでは、プログラム起動直後のリーダ選出時間を短くするために、ノードは起動後にcandidateで始まるようになっている(はず)
    • ただし、これはraftのタイムアウト時間を短くすることでも達成可能なので、今はこのようにする強いモチベーションはない(昔の諸々の実装が雑だった時には負荷のことも考えてタイムアウト時間を長めに設定していた)
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

No branches or pull requests

1 participant