-
Type: Sub-task
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: None
Use Case
As a... Driver Engineer
I want... to implement the CSOT specification for non-tailable cursors
So that... we can be spec compliant
User Experience
- N/A - feature will merge with CSOT feature branch, not in this ticket
Dependencies
- Required CSOT feature
Risks/Unknowns
- Potentially could introduce a performance regression on a hot path (Cursor iteration)
Acceptance Criteria
Implementation Requirements
- Collection.find, Collection.findOne, Collection.listIndexes, Db.aggregate and Db.listCollections support timeoutMode option
- FindCursor (not on capped collections), ListIndexesCursor, ListCollectionsCursor, AggregationCursor and RunCommandCursor support CSOT behaviour for non-tailable cursors
Testing Requirements
- Unskip spec tests for Find, ListCollections, ListIndexes and Aggregation cursors described in parent ticket
- Implement integration tests for Non-Tailable cursors described in parent ticket
- Implement unit tests for Find, ListIndexes, ListCollections, Aggregation and RunCommand cursors described in parent ticket
Implement performance tests described in parent ticketto be implemented inNODE-6305- Ensure TODO in connection.ts is resolved. There should be coverage for converting a maxTimeMS error from the server.
Documentation Requirements
- See parent ticket
Follow Up Requirements
- See parent ticket