[JAVA-5211] CSOT: Connection checkout and establishment Created: 20/Oct/23  Updated: 23/Jan/24

Status: Scheduled
Project: Java Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Maxim Katcharov Assignee: Ross Lawley
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by JAVA-4053 CSOT: Authentication Closed
is depended on by JAVA-4060 CSOT: MongoDB Handshake Closed
Epic Link: Client Side Operations Timeout
Quarter: FY24Q3

 Description   

Once the spec is updated (cf DRIVERS-2750, DRIVERS-1262, DRIVERS-2347), implement the remaining post-server-selection parts of the server-selection section of the spec.

Spec: https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/client-side-operations-timeout.md#server-selection

Prose tests: https://github.com/mongodb/specifications/blob/master/source/client-side-operations-timeout/tests/README.rst#server-selection



 Comments   
Comment by Ross Lawley [ 23/Jan/24 ]

I believe we are out of Spec here.

After a server has been selected, drivers MUST use the remaining computedServerSelectionTimeout value as the timeout for connection checkout. If a new connection is required, min(connectTimeoutMS, remaining computedServerSelectionTimeout) MUST be used as the timeout for TCP socket establishment. Any network requests required to create or authenticate a connection (e.g. HTTP requests to OCSP responders) MUST use min(operationTimeout, remaining computedServerSelectionTimeout) as a timeout, where operationTimeout is the specified default timeout for the network request. If there is no specified default, these operations MUST use the remaining computedServerSelectionTimeout value. All commands sent during the connection’s handshake MUST use the remaining computedServerSelectionTimeout as their timeoutMS value.

Generated at Thu Feb 08 09:04:01 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.