The new option timeout_ms should be configurable at the level of a MongoClient, MongoDatabase, MongoCollection, or of a single operation. It should be also available as URI option.
If the option is specified at any level, it cannot be later changed to unset.
At each level, the value MUST be inherited from the previous level if it is not explicitly specified.
The new default_timeout_ms option should be added to session options, which specifies the timeoutMS value for the following operations executed on the session:
- commitTransaction
- abortTransaction
- withTransaction
- endSession
If this option is not specified for a ClientSession, it MUST inherit the timeoutMS of its parent MongoClient.