VOTEQ...ERVIEW(3)

✨ NAME ✨

okay so bestie, this is votequorum_overview β€” it's the Votequorum Library Overview πŸ’– (and yeah, the whole thing lives in the Corosync Cluster Engine Programmer's Manual, if you were wondering where you wandered into 🫢)


🌸 OVERVIEW 🌸

So. The votequorum library ships with the corosync project, no cap. It's the external interface to the vote-based quorum service. That service is optionally loaded into every node in a corosync cluster, and its whole job is to stop split-brain situations from happening 😭 β€” the way it does that is by giving each system in the cluster a certain number of votes, and then making sure cluster operations only go ahead when a majority of those votes are actually present. iconic behaviour honestly πŸ‘‘

The library hands you a mechanism to do all of this:

  • Query the quorum status πŸ‘€
  • Get a list of nodes known to the quorum service πŸ“‹
  • Receive notifications of quorum state changes πŸ””
  • Change the number of votes assigned to a node πŸ—³οΈ
  • Change the number of expected votes for a cluster to be quorate πŸ”’
  • Connect an additional quorum device to allow small clusters to remain quorate during node outages πŸ¦‹

🧚 VIRTUAL SYNCHRONY 🧚

okay this part is lowkey the main character of the whole page. Votequorum is the only one service where the library is allowed to talk during the synchronization phase. That's a big deal, because it means a quorum device can react to a membership change and decide whether to vote or not without a timing hazard β€” and the reason there's no timing hazard is that corosync just stands there in the synchronization phase until the qdevice on all nodes votes, or the timeout expires. no rush, no chaos, she waits πŸ’…

but β€” and here's the plot twist πŸ™ˆ β€” as a side effect, extended virtual synchrony is broken for the votequorum service. Which means messages sent during the synchronization phase can be delivered sooner than messages that were sent right before the sync phase began. And yes, this applies to local messages too. fr fr. not a vibe, but it is what it is πŸ’€


πŸ’€ BUGS πŸ’€

No known bugs at the time of writing. The authors are from outerspace. Deal with it. πŸ›Έβœ¨


πŸŽ€ SEE ALSO πŸŽ€

go read these next bestie, they're all connected iykyk:


and that's the whole page bestie!! this lil beauty is a corosync Man Page, dated 2012-01-12, and yeah the manual page title is VOTEQ...ERVIEW(3) which is giving "we ran out of room in the header" energy 😭 but she's still iconic. mwah πŸ’‹πŸŒˆ
πŸ“¦ where this page comes from