-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
ALL
-
v6.2, v6.0
-
-
QE 2022-10-31, QE 2022-11-14, QE 2022-11-28, QE 2022-12-12, QE 2022-12-26
-
0
In SERVER-62710 I've discovered 2 reasons why a shard cursor might not be killed explicitly by mongos, and I've added the max_time_ms_does_not_leak_shard_cursor.js to test that. Unfortunately, the test fails regularly and sporadically (BF-24684) on all possible build variants.
This means there are few more reasons why a shard cursor might still remain alive. In some of BFGs the shard response contains the MaxTimeMSExpired error, but the shard cursor is not deleted. In some other BFGs, the shard returns NetworkInterfaceExceededTimeLimit instead of MaxTimeMSExpired.
Possible solution idea: the remaining time is transferred from the cursor to the opCtx. Perhaps, the timeout should be removed from opCtx at the end of getMore.
- causes
-
SERVER-72798 Only auto-cleanup cursors that have been killed
- Closed
- is duplicated by
-
SERVER-69274 .maxTimeMs leaks shard cursor
- Closed
- is related to
-
SERVER-43155 Queries which exceed maxTimeMS may return NetworkInterfaceExceededTimeLimit
- Closed