Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-5684 Add CSOT support to cursors
  3. NODE-6304

Implement CSOT logic for Non-Tailable Cursors

    • Type: Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 6.10.0
    • Affects Version/s: None
    • Component/s: None
    • 0
    • Not Needed
    • Hide

      Create a copy of the Kickoff Template with the issue key (NODE-XXX) in the filename and share a link to the new doc via this field.

      Show
      Create a copy of the Kickoff Template with the issue key (NODE-XXX) in the filename and share a link to the new doc via this field.
    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      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 ticket to be implemented in NODE-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

            Assignee:
            warren.james@mongodb.com Warren James
            Reporter:
            warren.james@mongodb.com Warren James
            Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: