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

feat: Introduce Raftify and RaftGlobalTimer to replace DistributedGlobalTimer #1506

Closed
wants to merge 16 commits into from

Conversation

jopemachine
Copy link
Member

@jopemachine jopemachine commented Aug 25, 2023

This PR aims to resolve the distribution locking issues by integrating Raftify with Backend.AI manager (based on GlobalTimer operating by Raft algorithm).

Any kind of feedback is welcome.

This PR also partially resolves #1634

How to setup test environment

  • Set num-proc of manager.toml to an arbitrary number other than 1, and set raft section when running Backend.AI manager.
  • Create raft-cluster-config.toml and set initial_peers there. Below is an example.
[[peers.other]]
host = "192.168.0.1"
port = 60151
node-id = 1
role = "voter"

[[peers.other]]
host = "192.168.0.1"
port = 60152
node-id = 2
role = "voter"

[[peers.other]]
host = "192.168.0.1"
port = 60153
node-id = 3
role = "voter"

[[peers.myself]]
host = "192.168.0.2"
port = 60154
node-id = 4

[[peers.myself]]
host = "192.168.0.2"
port = 60155
node-id = 5

Testing and debugging

For putting a new log entry,

curl -XGET http://localhost:60251/put/1/test

For printing all persisted logs,

./backend.ai mgr raft debug persisted-all ./logs

@github-actions github-actions bot added comp:manager Related to Manager component size:XL 500~ LoC labels Aug 25, 2023
@jopemachine jopemachine changed the title WIP - Integrate raftify with Backend.AI manager feat: Integrate raftify with Backend.AI manager (WIP) Aug 25, 2023
@jopemachine jopemachine force-pushed the feat/introduce-raftify branch 3 times, most recently from 4e7f4b8 to d33e372 Compare October 16, 2023 05:24
@jopemachine jopemachine force-pushed the feat/introduce-raftify branch 2 times, most recently from 2cfa3b6 to 43da9fb Compare October 31, 2023 06:42
@jopemachine jopemachine force-pushed the feat/introduce-raftify branch 4 times, most recently from f15ced9 to 3ec9b9a Compare November 9, 2023 07:27
@jopemachine jopemachine force-pushed the feat/introduce-raftify branch 6 times, most recently from 721df70 to 87e17da Compare January 12, 2024 06:16
@jopemachine jopemachine force-pushed the feat/introduce-raftify branch 7 times, most recently from 676744d to a3aeb44 Compare January 23, 2024 03:06
@jopemachine jopemachine changed the title feat: Integrate raftify with Backend.AI manager (WIP) feat: Integrate Raftify with Backend.AI manager (WIP) Mar 22, 2024
@jopemachine jopemachine changed the title feat: Integrate Raftify with Backend.AI manager (WIP) feat: Integrate Raftify with RaftGlobalTimer based on Raftify Mar 22, 2024
@jopemachine jopemachine changed the title feat: Integrate Raftify with RaftGlobalTimer based on Raftify feat: Introduce Raftify and RaftGlobalTimer introduction to replace DistributedGlobalTimer Mar 22, 2024
@jopemachine jopemachine changed the title feat: Introduce Raftify and RaftGlobalTimer introduction to replace DistributedGlobalTimer feat: Introduce Raftify and RaftGlobalTimer introduction to replace DistributedGlobalTimer Mar 22, 2024
@jopemachine jopemachine changed the title feat: Introduce Raftify and RaftGlobalTimer introduction to replace DistributedGlobalTimer feat: Introduce Raftify and RaftGlobalTimer to replace DistributedGlobalTimer Mar 22, 2024
@jopemachine jopemachine marked this pull request as ready for review April 1, 2024 07:51
@achimnol achimnol modified the milestones: 24.03, 24.09 Apr 1, 2024
@jopemachine
Copy link
Member Author

jopemachine commented May 3, 2024

To make PR reviews easier with the introduction of graphite, I made a new (See #2105).
Since a new PR has been created, I will close this one.

@jopemachine jopemachine closed this May 3, 2024
@Yaminyam Yaminyam deleted the feat/introduce-raftify branch July 17, 2024 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:manager Related to Manager component size:XL 500~ LoC type:feature Add new features urgency:3 Must be finished within a certain time frame.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants