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

Design and implement raft server and its state for placement #2373

Closed
youngbupark opened this issue Nov 3, 2020 · 1 comment · Fixed by #2277
Closed

Design and implement raft server and its state for placement #2373

youngbupark opened this issue Nov 3, 2020 · 1 comment · Fixed by #2277

Comments

@youngbupark
Copy link

In what area(s)?

/area runtime

Describe the feature

This is part of Epic #663

  1. Add initial Raft Server implementation.
  2. Add DaprHostMemberState State for Raft Finite State Machine.
    • cmd log will construct the list of Dapr runtime member hosts and treat this list as a state. FSM will snapshot this list
  3. Consistent hashing table map will be built based on the list of Dapr runtime member hosts; this will not be saved as state.
  4. Use MessagePack serialization for state and snapshot.
  5. Add three command flags for Raft
    • id: raft node id
    • initial-cluster: raft peer node list - we will not support join option to join new placement node to raft cluster for now.
    • inmem-store-enabled: use in-memory storage for raft log and snapshot (for dev or non-HA mode)
  6. Refactor main.go to clean up the code.

Release Note

RELEASE NOTE: ADD Raft server and its state for placement

@youngbupark youngbupark linked a pull request Nov 3, 2020 that will close this issue
10 tasks
@youngbupark youngbupark self-assigned this Nov 3, 2020
@youngbupark youngbupark added this to To do in 1.0.0 Milestone 1 via automation Nov 3, 2020
@youngbupark youngbupark added this to To do in 1.0.0 Milestone via automation Nov 3, 2020
@youngbupark youngbupark moved this from To do to Done in 1.0.0 Milestone 1 Nov 3, 2020
@youngbupark youngbupark moved this from To do to Done in 1.0.0 Milestone Nov 3, 2020
@youngbupark
Copy link
Author

This is to split EPIC #663

1.0.0 Milestone 1 automation moved this from Done to Review Nov 3, 2020
@youngbupark youngbupark moved this from Done to In progress in 1.0.0 Milestone Nov 3, 2020
@youngbupark youngbupark moved this from In progress to Done in 1.0.0 Milestone Nov 3, 2020
@artursouza artursouza moved this from Review to Done in 1.0.0 Milestone 1 Nov 4, 2020
@artursouza artursouza moved this from Done to Release in 1.0.0 Milestone 1 Nov 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

1 participant