-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Component/s: Sessions
-
None
-
Needed
-
Summary
If there are more than one writable servers in the topology, the following condition for the implicit session prose test is unlikely to pass, at least for the Go Driver
Drivers MUST assert that exactly one session is used for all operations at least once across the retries of this test.
For reference, it seems like the mongo-orchestration can often specify starting 2 mongos instances, e.g. auth.json.
This ticket proposes extending the prose test to include ensuring a single mongos node is used, ala retryable-reads.
Motivation
The race condition created by using multiple writable servers in a mongos topology makes the first MUST condition of the implicit session prose test flakey.
Here is an evergreen patch as example.
Who is the affected end user?
NA
How does this affect the end user?
NA
How likely is it that this problem or use case will occur?
This is consistent in the Go Driver.
If the problem does occur, what are the consequences and how severe are they?
Failing evergreen tests for sharded clusters.
Is this issue urgent?
No
Is this ticket required by a downstream team?
NA
Is this ticket only for tests?
Yes.
- is caused by
-
DRIVERS-1030 Drivers should check out an implicit session only after checking out a connection
- Closed
-
DRIVERS-2218 Clarify intended bounding of implicit session allocation and rework flaky prose test
- Closed
- split to
-
CSHARP-4269 Limit mongos Hosts for Implicit Session Prose Test
- Backlog
-
CXX-2553 Limit mongos Hosts for Implicit Session Prose Test
- Backlog
-
CDRIVER-4438 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
GODRIVER-2503 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
JAVA-4687 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
MOTOR-1001 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
NODE-4472 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
PHPLIB-919 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
PYTHON-3370 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
RUBY-3065 Limit mongos Hosts for Implicit Session Prose Test
- Closed
-
RUST-1419 Limit mongos Hosts for Implicit Session Prose Test
- Closed