-
Notifications
You must be signed in to change notification settings - Fork 613
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
Tracking: high availability for Meta service #5943
Comments
Some helpful Resources. Please let me know if I forgot something. |
Looking forward to work on this task. However I am still working on a different kernel task and will be at KubeCon next week. I will start with this the earliest at the beginning of November. |
added a new task "support connecting to multiple meta-node on compute-node" |
First draft version ready: Failover works, but Hummock crashes: #6534 |
@yezizp2012 I do not understand this part: My understanding is that the meta HA setup is a single-leader-system (see design docs). Therefore we only ever connect to one instance. |
IIUC, this should refers to the refactoring of the meta client: meta client should be able to connect and retrieve leader information from multi-meta nodes, which requires a |
Yes. After that we can modify risedev to provide multiple meta addresses to compute nodes and frontend nodes. Currently it only picks the first one (see risedev warning) |
Thank you very much for the clarifying. I would suggest that the change in the |
First version of the failover handling is done. Please have a look: #6466 There are a few things in the PR missing:
|
Is this still up to date? I do not see the subtask @skyzh |
Tests are still running, but my guess is that #6771 is ready for review. This is a minor tasks overall, but merging it would still simplify further steps. Let me know if you have any objections or suggestions to the PR. |
I currently have 2 PRs that are ready for review.
CC @arkbriar |
…6771) This is also needed for #5943 Implementing the following TODO: ```rust // TODO: Use tonic's serve_with_shutdown for a graceful shutdown. Now it does not work, // as the graceful shutdown waits all connections to disconnect in order to finish the stop. ``` Approved-By: fuyufjh Approved-By: yezizp2012 Approved-By: zwang28 Co-Authored-By: CAJan93 <[email protected]>
The fencing PR is ready for review. The CI pipeline is green. Also see #6786. Maybe we can get this merged before New Years :) |
Fencing is merged. Thank you very much for your guidance and approval @yezizp2012 |
feat(meta): Client failover is ready for review.
|
To support Meta's high availability, we need to do some refactor in Meta service:
Leader election
Service discovery
State persistence (DONE natually)
Test
Others
The text was updated successfully, but these errors were encountered: