-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Service Arch
-
Fully Compatible
-
CAR Team 2024-01-08, CAR Team 2024-01-22, CAR Team 2024-02-05
Today, mongod and mongos share a core logical session cache implementation, but use different resources (through the ServiceLiason API and injected reapSessionsOlderThanFn) to kill cursors and reap transaction table entries (in-memory on the router, both in-memory and durably on the shard) when required.
This ticket tracks ensuring that we can share an in-memory logical session cache representation when running in embedded router mode, as well as making whatever changes are required to ensure that ClusterCursors managed by the router are killed when required, and that in-memory transaction table cleanup works correctly. Alternatively, if needed, we could use two session caches, one for each role.
Additionally document the architecture of the logical session cache when mongod runs in embedded-router mode.