[DRIVERS-2337] Assume all >=3.6 servers support sessions Created: 25/May/22 Updated: 07/Sep/23 |
|
| Status: | Backlog |
| Project: | Drivers |
| Component/s: | Sessions |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Unknown |
| Reporter: | Shane Harvey | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Driver Changes: | Needed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Driver Compliance: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
SummaryDrivers that only support MongoDB >=3.6, can remove logicalSessionTimeoutMinutes checking logic and assume all servers support sessions. We have confirmed with the server team in HELP-35836 that there are no edge cases requiring special handling by the drivers, since even the lower FCV mode servers will not error when seeing an lsid. Original Context: The only remaining edge case to consider is direct connections to arbiters (non-data-bearing nodes). The spec currently has client.start_session raise an error when directly connected to an arbiter. jeff.yemin@mongodb.com and I propose we remove this limitation and defer to the arbiter to report an error if lsid is not supported. 3.6 arbiters report this error:
4.0+ arbiters appear to allow 'lsid':
Note that 3.6 arbiters are always in the lower FCV mode:
MotivationThis change will simplify implicit and explicit session creation and SDAM Topology updates by removing this section and the associated race conditions: https://github.com/mongodb/specifications/blob/master/source/sessions/driver-sessions.rst#how-to-check-whether-a-deployment-supports-sessions Is this issue urgent?No Is this ticket required by a downstream team?No Is this ticket only for tests?No |