Skip to content

Commit

Permalink
Update references
Browse files Browse the repository at this point in the history
  • Loading branch information
blink1073 committed Dec 7, 2023
1 parent 8c0b842 commit f30793e
Show file tree
Hide file tree
Showing 27 changed files with 40 additions and 40 deletions.
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,3 @@ Please complete the following before merging:
- [ ] Test these changes against all server versions and topologies (including standalone, replica set, sharded clusters, and serverless).

<!-- See also: https://wiki.corp.mongodb.com/pages/viewpage.action?pageId=80806719 -->

2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- run: pip install sphinx
- run: pip install sphinx myst-parser
- run: cd source && sphinx-build -W -b text . docs_build index.rst
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ repos:
- id: mdformat
additional_dependencies:
[mdformat-gfm]
exclude: LICENSE.md

- repo: https://github.com/tcort/markdown-link-check
rev: v3.11.2
Expand Down
2 changes: 1 addition & 1 deletion source/auth/auth.rst
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ SDAM's `Why mark a server Unknown after an auth error`_ for rationale.)

All blocking operations executed as part of the authentication handshake MUST
apply timeouts per the `Client Side Operations Timeout
<../client-side-operations-timeout/client-side-operations-timeout.rst>`__
<../client-side-operations-timeout/client-side-operations-timeout.md>`__
specification.

Mechanism Negotiation via Handshake
Expand Down
2 changes: 1 addition & 1 deletion source/change-streams/change-streams.rst
Original file line number Diff line number Diff line change
Expand Up @@ -836,7 +836,7 @@ All drivers MUST document how users can iterate a change stream and receive *all
Timeouts
^^^^^^^^

Drivers MUST apply timeouts to change stream establishment, iteration, and resume attempts per `Client Side Operations Timeout: Change Streams <../client-side-operations-timeout/client-side-operations-timeout.rst#Change-Streams>`__.
Drivers MUST apply timeouts to change stream establishment, iteration, and resume attempts per `Client Side Operations Timeout: Change Streams <../client-side-operations-timeout/client-side-operations-timeout.md#Change-Streams>`__.

Notes and Restrictions
^^^^^^^^^^^^^^^^^^^^^^
Expand Down
2 changes: 1 addition & 1 deletion source/client-side-encryption/client-side-encryption.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1474,7 +1474,7 @@ management.
Drivers MUST apply timeouts to operations executed as part of client-side encryption per `Client Side Operations
Timeout: Client Side Encryption
<../client-side-operations-timeout/client-side-operations-timeout.rst#client-side-encryption>`__.
<../client-side-operations-timeout/client-side-operations-timeout.md#client-side-encryption>`__.
Integrating with libmongocrypt
==============================
Expand Down
2 changes: 1 addition & 1 deletion source/client-side-encryption/tests/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The ``timeoutMS.yml``/``timeoutMS.json`` files in this directory contain tests
for the ``timeoutMS`` option and its application to the client-side encryption
feature. Drivers MUST only run these tests after implementing the
`Client Side Operations Timeout
<../client-side-operations-timeout/client-side-operations-timeout.rst>`__
<../client-side-operations-timeout/client-side-operations-timeout.md>`__
specification.

Additional prose tests, that are not represented in the spec tests, are described
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Unacknowledged/Acknowledged Writes
A non-default write concern MUST be included in the published command. The default write concern is not required to be included.

Succeeded or Failed
^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^

Commands that executed on the server and return a status of ``{ ok: 1.0 }`` are considered
successful commands and MUST generate a ``CommandSucceededEvent`` and "command succeeded" log message.
Expand Down
2 changes: 1 addition & 1 deletion source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = []
extensions = ["myst_parser"]

# Add any paths that contain templates here, relative to this directory.
templates_path = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ once that request reaches the front of the queue, having the Pool find or create
a `Connection`_ to fulfill that request. Requests MUST be subject to a timeout
which is computed per the rules in
`Client Side Operations Timeout: Server Selection
<../client-side-operations-timeout/client-side-operations-timeout.rst#server-selection>`_.
<../client-side-operations-timeout/client-side-operations-timeout.md#server-selection>`_.

To service a request for a `Connection`_, the Pool MUST first iterate over the
list of available `Connections <#connection>`_, searching for a non-perished one
Expand Down Expand Up @@ -805,7 +805,7 @@ thread SHOULD
- Remove and close perished available `Connections <#connection>`_ including "in use" connections if `interruptInUseConnections` option was set to true in the most recent pool clear.
- Apply timeouts to connection establishment per `Client Side Operations
Timeout: Background Connection Pooling
<../client-side-operations-timeout/client-side-operations-timeout.rst#background-connection-pooling>`__.
<../client-side-operations-timeout/client-side-operations-timeout.md#background-connection-pooling>`__.

A pool SHOULD allow immediate scheduling of the next background thread iteration after a clear is performed.

Expand Down
4 changes: 2 additions & 2 deletions source/crud/crud.rst
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,10 @@ Timeouts

Drivers MUST enforce timeouts for all operations per the `Client Side
Operations Timeout
<../client-side-operations-timeout/client-side-operations-timeout.rst>`__
<../client-side-operations-timeout/client-side-operations-timeout.md>`__
specification. All operations that return cursors MUST support the timeout
options documented in the `Cursors
<../client-side-operations-timeout/client-side-operations-timeout.rst#Cursors>`__
<../client-side-operations-timeout/client-side-operations-timeout.md#Cursors>`__
section of that specification.

---
Expand Down
4 changes: 2 additions & 2 deletions source/enumerate-collections.rst
Original file line number Diff line number Diff line change
Expand Up @@ -269,12 +269,12 @@ All methods:
- MUST use the *same* return type (ie, array or cursor) whether either a
pre-2.7.6 server, a post-2.7.6 or a post-2.8.0-rc3 server is being used.
- MUST apply timeouts per the `Client Side Operations Timeout
<client-side-operations-timeout/client-side-operations-timeout.rst>`__
<client-side-operations-timeout/client-side-operations-timeout.md>`__
specification.

All methods that return cursors MUST support the timeout options documented
in `Client Side Operations Timeout: Cursors
<client-side-operations-timeout/client-side-operations-timeout.rst#Cursors>`__.
<client-side-operations-timeout/client-side-operations-timeout.md#Cursors>`__.

Getting Collection Names
~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion source/enumerate-databases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ need to change it. Do not break backwards compatibility when adding new methods.
All methods SHOULD be implemented on the MongoClient object.

All methods MUST apply timeouts per the `Client Side Operations Timeout
<client-side-operations-timeout/client-side-operations-timeout.rst>`__
<client-side-operations-timeout/client-side-operations-timeout.md>`__
specification.

Enumerating Full Database Information
Expand Down
2 changes: 1 addition & 1 deletion source/gridfs/gridfs-spec.rst
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ Timeouts

Drivers MUST enforce timeouts for all operations per `Client Side Operations
Timeout: GridFS API
<../client-side-operations-timeout/client-side-operations-timeout.rst#gridfs-api>`__.
<../client-side-operations-timeout/client-side-operations-timeout.md#gridfs-api>`__.

Naming
------
Expand Down
6 changes: 3 additions & 3 deletions source/index-management/index-management.rst
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ Timeouts

Drivers MUST enforce timeouts for all operations per the `Client Side
Operations Timeout
<client-side-operations-timeout/client-side-operations-timeout.rst>`__
<client-side-operations-timeout/client-side-operations-timeout.md>`__
specification. All operations that return cursors MUST support the timeout
options documented in the `Cursors
<client-side-operations-timeout/client-side-operations-timeout.rst#Cursors>`__
<client-side-operations-timeout/client-side-operations-timeout.md#Cursors>`__
section of that specification.

------------
Expand Down Expand Up @@ -1136,4 +1136,4 @@ Changelog
:2023-05-10: Merge index enumeration and index management specs and get rid of references
to legacy server versions.
:2023-05-18: Add the search index management API.
:2023-07-27: Add search index management clarifications.
:2023-07-27: Add search index management clarifications.
2 changes: 1 addition & 1 deletion source/mongodb-handshake/handshake.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ connections and newly discovered members of a cluster. It MUST be the first
command sent over the respective socket. If the command fails the client MUST
disconnect. Timeouts MUST be applied to this command per the `Client Side
Operations Timeout
<../client-side-operations-timeout/client-side-operations-timeout.rst>`__
<../client-side-operations-timeout/client-side-operations-timeout.md>`__
specification.

``hello`` and legacy hello commands issued after the initial connection handshake
Expand Down
2 changes: 1 addition & 1 deletion source/ocsp-support/ocsp-support.rst
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ invalid, the driver SHOULD end the connection.
response that concretely marks the certificate status as good or revoked
should be used. A timeout should be applied to requests per the `Client
Side Operations Timeout
<../client-side-operations-timeout/client-side-operations-timeout.rst>`__
<../client-side-operations-timeout/client-side-operations-timeout.md>`__
specification, with a default timeout of five seconds. The status for a
response should only be checked if the response is valid per `RFC 6960
Section 3.2 <https://tools.ietf.org/html/rfc6960#section-3.2>`_
Expand Down
2 changes: 1 addition & 1 deletion source/read-write-concern/read-write-concern.rst
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ wtimeoutMS
----------

``wtimeoutMS`` MUST be considered deprecated in favor of `timeoutMS
<client-side-operations-timeout/client-side-operations-timeout.rst#timeoutMS>`__.
<client-side-operations-timeout/client-side-operations-timeout.md#timeoutMS>`__.


Server’s Default WriteConcern
Expand Down
2 changes: 1 addition & 1 deletion source/retryable-reads/retryable-reads.rst
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,7 @@ during planned maintenance events.
.. _SDAM: ../server-discovery-and-monitoring/server-discovery-and-monitoring.rst
.. _How To Write Resilient MongoDB Applications: https://emptysqua.re/blog/how-to-write-resilient-mongodb-applications/
.. _Client Side Operations Timeout: ../client-side-operations-timeout/client-side-operations-timeout.rst
.. _Client Side Operations Timeout: ../client-side-operations-timeout/client-side-operations-timeout.md
Can drivers resend the same wire protocol message on retry attempts?
--------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions source/retryable-writes/retryable-writes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ of the following conditions is reached:
- the operation fails with a non-retryable error.
- CSOT is enabled and the operation times out per `Client Side
Operations Timeout: Retryability
<../client-side-operations-timeout/client-side-operations-timeout.rst#retryability>`__.
<../client-side-operations-timeout/client-side-operations-timeout.md#retryability>`__.
- CSOT is not enabled and one retry was attempted.

For each retry attempt, drivers MUST select a writable server. In a sharded
Expand Down Expand Up @@ -692,7 +692,7 @@ during planned maintenance events.

.. _SDAM: ../server-discovery-and-monitoring/server-discovery-and-monitoring.rst
.. _How To Write Resilient MongoDB Applications: https://emptysqua.re/blog/how-to-write-resilient-mongodb-applications/
.. _Client Side Operations Timeout: ../client-side-operations-timeout/client-side-operations-timeout.rst
.. _Client Side Operations Timeout: ../client-side-operations-timeout/client-side-operations-timeout.md

What if the transaction number overflows?
-----------------------------------------
Expand Down
10 changes: 5 additions & 5 deletions source/run-command/run-command.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ The following represents how a runCommand API SHOULD be exposed.
* An optional timeout option to govern the amount of time that a single operation can execute before control is returned to the user.
* This timeout applies to all of the work done to execute the operation, including but not limited to server selection, connection checkout, and server-side execution.
*
* @ see https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.rst
* @ see https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.md
*/
timeoutMS?: number;
}
Expand Down Expand Up @@ -190,8 +190,8 @@ RunCommand MUST provide an optional ``timeoutMS`` option to support client side
Drivers MUST NOT attempt to check the command document for the presence of a ``maxTimeMS`` field.
Drivers MUST document the behavior of RunCommand if a ``maxTimeMS`` field is already set on the command (such as overwriting the command field).

* See Client Side Operations Timeout's section on `runCommand <https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.rst#runcommand>`_
* See Client Side Operations Timeout's section on `runCommand behavior <https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.rst#runcommand-behavior>`_
* See Client Side Operations Timeout's section on `runCommand <https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.md#runcommand>`_
* See Client Side Operations Timeout's section on `runCommand behavior <https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.md#runcommand-behavior>`_


--------------------
Expand All @@ -217,7 +217,7 @@ Drivers MAY expose a runCursorCommand API with the following syntax.
*
* @defaultValue CURSOR_LIFETIME
*
* @see https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.rst
* @see https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.md
*/
timeoutMode?: ITERATION | CURSOR_LIFETIME;
Expand Down Expand Up @@ -334,7 +334,7 @@ Drivers MUST document that attempting to set both options can have undefined beh

When ``timeoutMS`` and ``timeoutMode`` are provided the driver MUST support timeout functionality as described in the CSOT specification.

* See Client Side Operations Timeout's section on `Cursors <https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.rst#cursors>`_
* See Client Side Operations Timeout's section on `Cursors <https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.md#cursors>`_

Changelog
=========
Expand Down
4 changes: 2 additions & 2 deletions source/server-discovery-and-monitoring/server-monitoring.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1253,8 +1253,8 @@ Changelog
.. _OP_MSG exhaustAllowed flag: /source/message/OP_MSG.rst#exhaustAllowed
.. _Connection Pool: /source/connection-monitoring-and-pooling/connection-monitoring-and-pooling.rst#Connection-Pool
.. _Why synchronize clearing a server's pool with updating the topology?: server-discovery-and-monitoring.rst#why-synchronize-clearing-a-server-s-pool-with-updating-the-topology?
.. _Client Side Operations Timeout Spec: /source/client-side-operations-timeout/client-side-operations-timeout.rst
.. _timeoutMS: /source/client-side-operations-timeout/client-side-operations-timeout.rst#timeoutMS
.. _Client Side Operations Timeout Spec: /source/client-side-operations-timeout/client-side-operations-timeout.md
.. _timeoutMS: /source/client-side-operations-timeout/client-side-operations-timeout.md#timeoutMS
.. _Why does the pool need to support closing in use connections as part of its clear logic?: /source/connection-monitoring-and-pooling/connection-monitoring-and-pooling.rst#Why-does-the-pool-need-to-support-closing-in-use-connections-as-part-of-its-clear-logic?
.. _DRIVERS-2246: https://jira.mongodb.org/browse/DRIVERS-2246
.. _MongoDB Handshake spec: /source/mongodb-handshake/handshake.rst#client-env
2 changes: 1 addition & 1 deletion source/server-selection/server-selection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ Multi-threaded drivers and single-threaded drivers with
``serverSelectionTryOnce`` set to false MUST enforce a timeout for the server
selection process. The timeout MUST be computed as described in
`Client Side Operations Timeout: Server Selection
<../client-side-operations-timeout/client-side-operations-timeout.rst#server-selection>`_.
<../client-side-operations-timeout/client-side-operations-timeout.md#server-selection>`_.

Multi-threaded or asynchronous server selection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ allowed to execute other operations not associated with the transaction.
Since ``withTransaction`` includes logic to retry transactions and commits,
drivers MUST apply timeouts per `Client Side Operations Timeout: Convenient
Transactions API
<../client-side-operations-timeout/client-side-operations-timeout.rst#convenient-transactions-api>`__.
<../client-side-operations-timeout/client-side-operations-timeout.md#convenient-transactions-api>`__.
If ``timeoutMS`` is unset for a ``withTransaction`` call, drivers MUST
enforce a 120-second timeout to limit retry behavior and safeguard
applications from long-running (or infinite) retry loops. Drivers SHOULD use
Expand Down
2 changes: 1 addition & 1 deletion source/transactions/transactions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ maxCommitTimeMS
^^^^^^^^^^^^^^^

NOTE: This option is deprecated in favor of `timeoutMS
<../client-side-operations-timeout/client-side-operations-timeout.rst#timeoutMS>`_.
<../client-side-operations-timeout/client-side-operations-timeout.md#timeoutMS>`_.

The maximum amount of time to allow a single commitTransaction command to run.

Expand Down
2 changes: 1 addition & 1 deletion source/unified-test-format/unified-test-format.rst
Original file line number Diff line number Diff line change
Expand Up @@ -775,7 +775,7 @@ The structure of this object is as follows:
- `Causal Consistency <../causal-consistency/causal-consistency.rst#sessionoptions-changes>`__
- `Snapshot Reads <../sessions/snapshot-sessions.rst#sessionoptions-changes>`__
- `Transactions <../transactions/transactions.rst#sessionoptions-changes>`__
- `Client Side Operations Timeout <../client-side-operations-timeout/client-side-operations-timeout.rst#sessions>`__
- `Client Side Operations Timeout <../client-side-operations-timeout/client-side-operations-timeout.md#sessions>`__

When specifying TransactionOptions for ``defaultTransactionOptions``, the
transaction options MUST remain nested under ``defaultTransactionOptions``
Expand Down
8 changes: 4 additions & 4 deletions source/uri-options/uri-options.rst
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ pertaining to URI options apply here.
- non-negative integer; 0 means no timeout
- no timeout
- no
- NOTE: This option is deprecated in favor of `timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.rst#timeoutMS>`_
- NOTE: This option is deprecated in favor of `timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.md#timeoutMS>`_

Amount of time spent attempting to send or receive on a socket before timing out; note that this only applies to application operations, not SDAM.

Expand Down Expand Up @@ -343,7 +343,7 @@ pertaining to URI options apply here.
*
- timeoutMS
- non-negative integer; 0 or unset means no timeout
- Defined in `Client Side Operations Timeout: timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.rst#timeoutMS>`_.
- Defined in `Client Side Operations Timeout: timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.md#timeoutMS>`_.
- no
- Time limit for the full execution of an operation

Expand Down Expand Up @@ -422,7 +422,7 @@ pertaining to URI options apply here.
- positive number
- defined in the `Connection Pooling spec`_
- required for drivers with connection pools, with exceptions described in the `Connection Pooling spec`_
- NOTE: This option is deprecated in favor of `timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.rst#timeoutMS>`_
- NOTE: This option is deprecated in favor of `timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.md#timeoutMS>`_

Amount of time spent attempting to check out a connection from a server's
connection pool before timing out
Expand All @@ -431,7 +431,7 @@ pertaining to URI options apply here.
- non-negative 64-bit integer; 0 means no timeout
- no timeout
- no
- NOTE: This option is deprecated in favor of `timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.rst#timeoutMS>`_
- NOTE: This option is deprecated in favor of `timeoutMS <../client-side-operations-timeout/client-side-operations-timeout.md#timeoutMS>`_

Default write concern "wtimeout" field for the client

Expand Down

0 comments on commit f30793e

Please sign in to comment.