Skip to content

Commit d64d6dd

Browse files
author
Dave
authored
DOCS-14938 BACKPORT (#418)
1 parent 548d5e6 commit d64d6dd

File tree

2 files changed

+54
-10
lines changed

2 files changed

+54
-10
lines changed

source/core/replica-set-arbiter.txt

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@ Replica Set Arbiter
1515

1616
.. start-content
1717

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 the 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.
2423

25-
.. versionchanged:: 3.6
26-
27-
.. include:: /includes/fact-arbiter-priority.rst
24+
An arbiter has exactly ``1`` election vote. By default an arbiter has
25+
priority ``0``.
2826

2927
.. important::
3028

@@ -58,6 +56,35 @@ Replica Set Protocol Version and Arbiter
5856

5957
.. include:: /includes/extracts/arbiters-and-pvs-with-reference.rst
6058

59+
.. _rollbacks-multi-arbiters:
60+
61+
Concerns with Multiple Arbiters
62+
-------------------------------
63+
64+
Use a single arbiter to avoid problems with data consistency. Multiple
65+
arbiters prevent the reliable use of the majority write concern.
66+
67+
To ensure that a write will persist after the failure of a primary node,
68+
the majority write concern requires a majority of nodes to acknowledge
69+
a write operation. Arbiters do not store any data, but they do
70+
contribute to the number of nodes in a replica set. When a replica set
71+
has multiple arbiters it is less likely that a majority of data bearing
72+
nodes will be available after a node failure.
73+
74+
For more information, see this `Knowledge Base
75+
<https://kb.corp.mongodb.com/article/000019126/>`__ article on multiple
76+
arbiters.
77+
78+
.. warning::
79+
80+
If a secondary node falls behind the primary, and the cluster is
81+
:method:`reconfigured <rs.reconfig()>`, votes from multiple arbiters
82+
can elect the node that had fallen behind. The new primary will not
83+
have the unreplicated writes even though the writes could have been
84+
majority committed by the old configuration. The result is data
85+
loss.
86+
87+
To avoid this scenario, use at most a single arbiter.
6188

6289
Security
6390
--------
@@ -88,3 +115,17 @@ exchanges are not encrypted.
88115

89116
As with all MongoDB components, run arbiters in trusted network
90117
environments.
118+
119+
Example
120+
-------
121+
122+
.. start-content-even-votes-example
123+
124+
For example, in the following replica set with 2 data-bearing members
125+
(the primary and a secondary), an arbiter allows the set to have an odd
126+
number of votes to break a tie:
127+
128+
.. include:: /images/replica-set-primary-with-secondary-and-arbiter.rst
129+
130+
.. end-content-even-votes-example
131+
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
.. warning::
22

3-
In general, avoid deploying more than one arbiter per replica set.
3+
Avoid deploying more than one arbiter per replica set.
4+
5+
See also: :ref:`rollbacks-multi-arbiters`
6+

0 commit comments

Comments
 (0)