Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-3092

Ensure Driver Errors for Tailable AwaitData Cursors on Invalid maxAwaitTimeMS

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: CSOT
    • None
    • Needed

      Summary

      The CSOT specifications for tailable awaitData cursors specifies the following:

      Drivers MUST error if this option is set, timeoutMS is set to a non-zero value, and maxAwaitTimeMS is greater than or equal to timeoutMS

      Currently the tailable-awaitData unified spec tests attempt to validate this behavior:

      • error if maxAwaitTimeMS is greater than timeoutMS
      • error if maxAwaitTimeMS is equal to timeoutMS

      However, these tests only verify the occurrence of a client-side error, which may include a client-side timeout. For instance, the Go Driver does not perform the specific validation but rather produces an error due to a client-side timeout.

      Acceptance Criteria

      The unified spec tests for tailableAwait data cursor should verify that when maxAwaitTime >= timeoutMS the error is not a timeout error. Additionally, more tests should be added for other collection helpers that can construct a tailable awaitData cursors: collection.Watch() and collection.Aggregate().

            Assignee:
            Unassigned Unassigned
            Reporter:
            preston.vasquez@mongodb.com Preston Vasquez
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: