slukyano commented on code in PR #5315: URL: https://github.com/apache/ignite-3/pull/5315#discussion_r1984129265
########## docs/_docs/administrators-guide/lifecycle.adoc: ########## @@ -40,7 +40,15 @@ First, the nodes specified in the `--cluster-management-group` argument form a R image::images/lifecycle1.png[Cluster initialization] -Then, the nodes specified in the `--metastorage-group` argument form a RAFT group and take the role of *metastorage group*. These nodes will hold the authoritative copy of cluster meta information. +Then, the nodes specified in the `--metastorage-group` argument form a RAFT group and take the role of *metastorage group*. These nodes will hold the authoritative copy of cluster meta information. If `--metastorage-group` is not specified, the nodes are chosen automatically. The number of nodes is chosen automatically as follows: + +[source, javascript] +---- +metastorage_group_size = + cluster_size <= 3 ? cluster_size // If up to 3 nodes, use all nodes for CMG and metastorage. + : cluster_size == 4 ? 3 // If 4 nodes, use 3 nodes to have an odd number of nodes for better split-brain protection. Review Comment: 4 nodes segmented as 2+2. With 4 nodes in MS, you get full unavailability. With 3 nodes in MS, one of the two halves will be able to continue working. Simply put, in consensus-based systems you should avoid ties in voting. The easiest way to avoid ties is with odd number of voters. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org