Fix ChangeStream resumabilty

XMLWordPrintableJSON

    • 5
    • None
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      Change stream resumabilty in the node driver has two main issues:

      1. Change streams are required by the spec to use the maxWireVersion from either the aggregate call or the getMore call when checking for resumabilty.  We are currently checking based on the current state of the server, after the change stream has errored (see change stream resumability).
      2. We never attach the ResumeableChangeStreamError label to our errors, so for maxWireVersions >= 9 we won't resume even if it's a resumable error.

      Acceptance Criteria

      • Attach the ResumeableChangeStreamError to any resumable change stream error
      • Calculate the maxWireVersion used to determine change stream resumability for a given operation based on the getMore/aggregate operation instead of the state of the driver after the error.

            Assignee:
            Bailey Pearson
            Reporter:
            Bailey Pearson
            Durran Jordan
            Votes:
            12 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: