-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 4.4.0, 5.0.0, 6.0.0, 6.2.0-rc6
-
Component/s: Sharding
-
Sharding NYC
-
Fully Compatible
-
ALL
-
v6.3, v6.2, v6.0, v5.0, v4.4
-
Sharding NYC 2023-04-03, Sharding NYC 2023-04-17
-
(copied to CRM)
-
2
The changes from 46ab40a as part of SERVER-42508 removed the usage of BatchedCommandResponse::toStatus() and left only the usage of getStatusFromCommandResult(). These behaviors aren't equivalent because it means write errors are silently ignored by the LogicalSessionCacheRefresh background job. This leads the LogicalSessionCacheRefresh background job to call killCursorsWithMatchingSessions() and kill cursors which don't have documents in the config.system.sessions collection despite flushing the cache to disk not persisting at least some of the documents to the config.system.sessions collection.
The intended behavior would be for refreshSessions() to thrown an exception and skip calling killCursorsWithMatchingSessions() in that round of the LogicalSessionCacheRefresh background job.
- is caused by
-
SERVER-42508 Convert SessionsCollection to throw instead of return status
- Closed
- is related to
-
SERVER-47477 Sharded logical sessions cache refresh ignores failure to update or delete session records
- Closed