Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOCSP-4466 Add CSOT #951

Merged
merged 18 commits into from
Jan 15, 2025
Prev Previous commit
Next Next commit
add list
  • Loading branch information
stephmarie17 committed Dec 17, 2024
commit 9145ed6172b0c7e9ca93d0ec2e3418b8b0b9a03d
35 changes: 35 additions & 0 deletions source/fundamentals/connection/csot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,41 @@ a timeout limit of 10 seconds at the collection level, then calls the
:start-after: start-operation
:end-before: end-operation

Inheritance Behavior
--------------------

When you specify a ``timeoutMS`` option, the driver applies the timeout
according to the same inheritance behaviors as other {+driver-short+} options.
stephmarie17 marked this conversation as resolved.
Show resolved Hide resolved
The following list describes how the timeout value is inherited:
stephmarie17 marked this conversation as resolved.
Show resolved Hide resolved

- **Operation Level**: The operation-level ``timeoutMS`` option takes the
highest precedence and will override this option set at any other layer.

- **Transaction Level**: The transaction-level ``timeoutMS`` option takes
precedence over ``timeoutMS`` set at the session, collection, database, or
client level.

- **Session Level**: The session-level ``timeoutMS`` option inherits down to all
transactions and operations within that session, unless the option is
overriden by options set at those levels.

- **Collection Level**: The collection-level ``timeoutMS`` option inherits down
to all sessions nad operations on that collection, unless the option is overriden.

nbbeeken marked this conversation as resolved.
Show resolved Hide resolved
- **Database Level**: The database-level ``timeoutMS`` option applies to all
collections within that database. It is inherited by all sessions,
collections, and operations within the collections on that database, unless
the option is overriden.

- **Client Level**: The client-level ``timeoutMS`` option applies to all
databases, collections, sessions, transactions, and operations within that
client that do not otherwise specify ``timeoutMS``.

For more information on overrides and specific options, see the :ref:`Overrides
<node-csot-overrides>` section.

.. _node-csot-overrides:

Overrides
---------

Expand Down