@@ -15,12 +15,14 @@ Replica Set Arbiter
15
15
16
16
.. start-content
17
17
18
- In some circumstances (such as you have a primary and a secondary but
19
- cost constraints prohibit adding another secondary), you may choose to
20
- add an arbiter to your replica set. An arbiter does **not** have a copy
21
- of data set and **cannot** become a primary. However, an arbiter
22
- participates in :ref:`elections for primary <replica-set-elections>`.
23
- An arbiter has exactly ``1`` election vote.
18
+ In some circumstances (such as when you have a primary and a secondary,
19
+ but cost constraints prohibit adding another secondary), you may choose
20
+ to add an arbiter to your replica set. An arbiter participates in
21
+ :ref:`elections for primary <replica-set-elections>` but an arbiter does
22
+ **not** have a copy of the data set and **cannot** become a primary.
23
+
24
+ An arbiter has exactly ``1`` election vote. By default an arbiter has
25
+ priority ``0``.
24
26
25
27
.. versionchanged:: 3.6
26
28
@@ -69,6 +71,35 @@ Replica Set Protocol Version and Arbiter
69
71
70
72
.. include:: /includes/extracts/arbiters-and-pvs-with-reference.rst
71
73
74
+ .. _rollbacks-multi-arbiters:
75
+
76
+ Concerns with Multiple Arbiters
77
+ -------------------------------
78
+
79
+ Use a single arbiter to avoid problems with data consistency. Multiple
80
+ arbiters prevent the reliable use of the majority write concern.
81
+
82
+ To ensure that a write will persist after the failure of a primary node,
83
+ the majority write concern requires a majority of nodes to acknowledge
84
+ a write operation. Arbiters do not store any data, but they do
85
+ contribute to the number of nodes in a replica set. When a replica set
86
+ has multiple arbiters it is less likely that a majority of data bearing
87
+ nodes will be available after a node failure.
88
+
89
+ For more information, see this `Knowledge Base
90
+ <https://kb.corp.mongodb.com/article/000019126/>`__ article on multiple
91
+ arbiters.
92
+
93
+ .. warning::
94
+
95
+ If a secondary node falls behind the primary, and the cluster is
96
+ :method:`reconfigured <rs.reconfig()>`, votes from multiple arbiters
97
+ can elect the node that had fallen behind. The new primary will not
98
+ have the unreplicated writes even though the writes could have been
99
+ majority committed by the old configuration. The result is data
100
+ loss.
101
+
102
+ To avoid this scenario, use at most a single arbiter.
72
103
73
104
Security
74
105
--------
@@ -99,3 +130,17 @@ exchanges are not encrypted.
99
130
100
131
As with all MongoDB components, run arbiters in trusted network
101
132
environments.
133
+
134
+ Example
135
+ -------
136
+
137
+ .. start-content-even-votes-example
138
+
139
+ For example, in the following replica set with 2 data-bearing members
140
+ (the primary and a secondary), an arbiter allows the set to have an odd
141
+ number of votes to break a tie:
142
+
143
+ .. include:: /images/replica-set-primary-with-secondary-and-arbiter.rst
144
+
145
+ .. end-content-even-votes-example
146
+
0 commit comments