-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
ALL
-
CAR Team 2024-04-01
-
147
SERVER-86741 introduced changes on FCV downgrade to truncate sessions that are in use. This exposed a bug in the MigrationDestinationManager in which we were attempting to yield a session while on a different client than the one with the session checked out. This could cause an invariant due to trying to do a write when re-checking-out the session on the wrong client.
SERVER-87872 attempted to fix this by changing back to the original client before yielding the session. However, this fix did not take into acocunt the fact that two of the runWithoutSession calls are done from a different thread than the original. This causes invalid access errors when trying to change back to the original session.
Additionally, the truncate of the sessions can cause migrations to fail during FCV downgrade due to being interrupted.
The goal of this ticket is to revert SERVER-87872 and blacklist any tests that are failing. Some of these tests (primarily the timeseries tests in the fcv upgrade downgrade passthrough) should be disabled due to the fact that the truncate of the sessions can now cause migrations to fail on downgrade. Others (the concurrency_sharded.*balancer tests with _setFCV) should be re-enabled once the invariant problem in the migration destination manager is fixed.
- related to
-
SERVER-88539 Migration Destination Manager should not check out a session with a mixed opCtx and Client
- Backlog
-
SERVER-90095 Re-enable JavaScript tests which were left disabled due to SERVER-88539
- Backlog