-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: 3.2.11, 3.2.18
-
Component/s: Querying
-
Query
-
ALL
-
-
(copied to CRM)
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
In my repro this happens when the server is struggling. The query looks like:
2017-12-15T17:38:37.527+1100 D COMMAND [conn8516] run command local.$cmd { find: "oplog.rs", filter: { op: { $in: [ "i", "u" ] }, ts: { $gte: Timestamp 1491415276000|0 } }, sort: { $natural: 1 }, batchSize: 4000, tailable: true, awaitData: true, oplogReplay: true, noCursorTimeout: true }
Sometimes (unfortunately my repro isn't consistent and the outcome is non-deterministic) a getMore fails like:
2017-12-19T16:55:39.400+1100 I COMMAND [conn103] command local.oplog.rs command: getMore { getMore: 21203342251, collection: "oplog.rs", batchSize: 4000 } cursorid:21203342251 keyUpdates:0 writeConflicts:0 exception: operation exceeded time limit code:50 numYields:0 reslen:89 locks:{ Global: { acquireCount: { r: 2 } }, Database: { acquireCount: { r: 1 } }, oplog: { acquireCount: { r: 1 } } } protocol:op_query 22401ms
The chance of getting an exception doesn't seem to be depending on the duration of the getMore - sometimes I see them taking much longer, but no exception is thrown:
2017-12-14T16:11:04.323+1100 I COMMAND [conn29] command local.oplog.rs command: getMore { getMore: 18711090531, collection: "oplog.rs", batchSize: 4000 } planSummary: COLLSCAN cursorid:18711090531 keysExamined:0 docsExamined:213 keyUpdates:0 writeConflicts:0 numYields:2 nreturned:213 reslen:28533 locks:{ Global: { acquireCount: { r: 6 } }, Database: { acquireCount: { r: 3 } }, oplog: { acquireCount: { r: 3 } } } protocol:op_query 109834ms
- duplicates
-
SERVER-33942 getMore with maxTimeMS returns "operation exceeded time limit" if concurrent blocking operation is running
-
- Closed
-