Logical sessions cache is maintained on each cluster node. The sessions expiration is managed by the lsidTTLIndex on config.system.sessions
The following scenario exposes the bug when logical sessions cache on config primary fails to synchronize with the config.system.sessions
1. create a 2 shard cluster, with enableTestCommands=true and disableLogicalSessionCacheRefresh=true.
2. start a session on a config primary
use config; db.runCommand({startSession:1});
3. check that the sessions are created is in the logical cache
use config;
db.aggregate([{$listLocalSessions: {allUsers: true}}]);
4. check that there are no sessions in the collection on the shard:
5. force logical cache refresh:
db.adminCommand({refreshLogicalSessionCacheNow:1 });
6. check that there are still no sessions in the collections
- depends on
-
SERVER-42827 Allow sessions collection to return OK for creating indexes if at least one shard returns OK and others return CannotImplicitlyCreateCollection
- Closed
- duplicates
-
SERVER-42827 Allow sessions collection to return OK for creating indexes if at least one shard returns OK and others return CannotImplicitlyCreateCollection
- Closed