Skip to content

Commit b56d29a

Browse files
committed
DOCS-14695-Upgrading language strength with regards to hidden delayed members
1 parent 2c6472b commit b56d29a

3 files changed

+45
-4
lines changed

source/core/replica-set-delayed-member.txt

+7-2
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,16 @@ Delayed members:
3939
members. Set the priority to 0 to prevent a delayed member from
4040
becoming primary.
4141

42-
- **Should be** :ref:`hidden <replica-set-hidden-members>`
42+
- **Must be** :ref:`hidden <replica-set-hidden-members>`
4343
members. Always prevent applications from seeing and querying
4444
delayed members.
4545

46-
- *Do* vote in :term:`elections <election>` for primary, if :rsconf:`members[n].votes` is set to 1.
46+
- *Do* vote in :term:`elections <election>` for primary, if
47+
:rsconf:`members[n].votes` is set to 1. Ensuring that delayed members
48+
are non-voting by setting :rsconf:`members[n].votes` to 0 can help
49+
improve performance.
50+
51+
.. include:: /includes/important-delayed-replica-set-members.rst
4752

4853
Behavior
4954
~~~~~~~~

source/core/replica-set-hidden-member.txt

+4-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ Clients will not distribute reads with the appropriate :doc:`read
3939
preference </core/read-preference>` to hidden members. As a result, these
4040
members receive no traffic other than basic replication. Use hidden
4141
members for dedicated tasks such as reporting and
42-
backups. :doc:`Delayed members </core/replica-set-delayed-member>`
43-
should be hidden.
42+
backups.
43+
44+
.. include:: /includes/important-delayed-replica-set-members.rst
45+
4446

4547
In a sharded cluster, :binary:`~bin.mongos` do not interact with hidden
4648
members.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
.. important::
2+
3+
If your replica set contains :doc:`delayed members
4+
</core/replica-set-delayed-member>` ensure that the delayed
5+
members are hidden and non-voting.
6+
7+
Hiding delayed replica set members prevents applications from seeing
8+
and querying delayed data without a direct connection to that member.
9+
Making delayed replica set members non-voting means they will not
10+
count towards acknowledging write operations with write concern
11+
:writeconcern:`"majority"`.
12+
13+
If you do not hide delayed members and one or more nodes
14+
become unavailable, the replica set has to wait for the delayed
15+
member and the commit point lags. A lagged commit point can lead to
16+
performance issues.
17+
18+
For example, consider a Primary-Secondary-Delayed replica set
19+
configuration where the delayed secondary is voting with a 10
20+
minute delay.
21+
22+
With one non-delayed secondary unavailable, the degraded configuration
23+
of Primary-Delayed must wait at least 10 minutes to acknowledge a write
24+
operation with :writeconcern:`"majority"`.The majority commit point
25+
will take longer to advance, leading to cache pressure similar
26+
performance issues with a
27+
:ref:`Primary with a Secondary and an Arbiter<rs-architecture-psa>`
28+
(PSA) replica set.
29+
30+
For more information on the majority commit point, see
31+
:doc:`Causal Consistency and Read and Write Concerns
32+
</core/causal-consistency-read-write-concerns>`. For additional
33+
details on resolving performance issues see the
34+
:ref:`replica set maintenance tutorial<performance-issues-psa>`.

0 commit comments

Comments
 (0)