Skip to content

Commit 9772083

Browse files
kanchana-mongodbjeff-allen-mongo
authored andcommitted
DOCS-13389 Doc for the oplogFetcherUsesExhaust parameter
1 parent ef55aef commit 9772083

File tree

3 files changed

+68
-1
lines changed

3 files changed

+68
-1
lines changed

source/core/replica-set-sync.txt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ Replication
202202
Secondary members replicate data continuously after the initial sync.
203203
Secondary members copy the :doc:`oplog </core/replica-set-oplog>` from
204204
their *sync from* source and apply these operations in an asynchronous
205-
process. [#slow-oplogs]_
205+
process. [#slow-oplogs]_
206206

207207
Secondaries may automatically change their *sync from* source as needed
208208
based on changes in the ping time and state of other members'
@@ -213,6 +213,33 @@ for more information on sync source selection criteria.
213213

214214
.. include:: /includes/extracts/4.2-changes-slow-oplog-log-message-footnote.rst
215215

216+
.. _replica-set-streaming-replication:
217+
218+
Streaming Replication
219+
~~~~~~~~~~~~~~~~~~~~~
220+
221+
Starting in MongoDB 4.4, *sync from* sources send a continuous stream
222+
of :doc:`oplog </core/replica-set-oplog>` entries to their syncing
223+
secondaries. Streaming replication mitigates replication lag in
224+
high-load and high-latency networks. It also:
225+
226+
- Reduces staleness for reads from secondaries.
227+
- Reduces risk of losing write operations with :ref:`w: 1 <wc-w>` due to
228+
primary failover.
229+
- Reduces latency on write operations with :writeconcern:`w: "majority"
230+
<"majority">` and :ref:`w: >1 <wc-w>` (that is, any write concern that
231+
requires waiting for replication).
232+
233+
Prior to MongoDB 4.4, secondaries fetched batches of :doc:`oplog
234+
</core/replica-set-oplog>` entries by issuing a request to their *sync
235+
from* source and waiting for a response. This required a network roundtrip
236+
for each batch of :doc:`oplog </core/replica-set-oplog>` entries. MongoDB
237+
4.4 adds the :parameter:`oplogFetcherUsesExhaust` startup parameter for
238+
disabling streaming replication and using the older replication behavior.
239+
Set the :parameter:`oplogFetcherUsesExhaust` parameter to ``false`` only if
240+
there are any resource constraints on the *sync from* source or if you wish
241+
to limit MongoDB's usage of network bandwidth for replication.
242+
216243
.. _replica-set-internals-multi-threaded-replication:
217244

218245
Multithreaded Replication

source/reference/parameters.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2106,6 +2106,30 @@ Replication Parameters
21062106
configuration file setting or the
21072107
:option:`--setParameter <mongod --setParameter>` command line option.
21082108

2109+
.. parameter:: oplogFetcherUsesExhaust
2110+
2111+
.. versionadded:: 4.4
2112+
2113+
|mongod-only|
2114+
2115+
*Type*: boolean
2116+
2117+
*Default*: true
2118+
2119+
Enables or disables :ref:`streaming replication
2120+
<replica-set-streaming-replication>`. Set the value to ``true`` to enable
2121+
streaming replication.
2122+
2123+
Set the value to ``false`` to disable streaming replication. If
2124+
disabled, secondaries fetch batches of :doc:`oplog </core/replica-set-oplog>`
2125+
entries by issuing a request to their *sync from* source and waiting for a
2126+
response. This requires a network roundtrip for each batch of :doc:`oplog
2127+
</core/replica-set-oplog>` entries.
2128+
2129+
You can only set this parameter on startup, using either the
2130+
:setting:`setParameter` configuration file setting or the
2131+
:option:`--setParameter <mongod --setParameter>` command line option.
2132+
21092133
.. parameter:: oplogInitialFindMaxSeconds
21102134

21112135
.. versionadded:: 3.6

source/release-notes/4.4.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,22 @@ synchronization process from the beginning.
204204
Prior to MongoDB 4.4, the secondary would restart the entire initial
205205
sync if it encountered an error during the process.
206206

207+
Streaming Replication
208+
~~~~~~~~~~~~~~~~~~~~~
209+
210+
Starting in MongoDB 4.4, *sync from* sources send a continuous
211+
stream of :doc:`oplog </core/replica-set-oplog>` entries to their
212+
syncing secondaries.
213+
214+
Prior to MongoDB 4.4, secondaries fetched batches of :doc:`oplog
215+
</core/replica-set-oplog>` entries by issuing a request to their *sync
216+
from* source and waiting for a response. This required a network roundtrip
217+
for each batch of :doc:`oplog </core/replica-set-oplog>` entries. MongoDB
218+
4.4 adds the :parameter:`oplogFetcherUsesExhaust` startup parameter for
219+
disabling streaming replication and using the older replication behavior.
220+
221+
For details, see :ref:`replica-set-streaming-replication`.
222+
207223
Rollback Directory
208224
~~~~~~~~~~~~~~~~~~
209225

0 commit comments

Comments
 (0)