-
Type: Bug
-
Resolution: Done
-
Priority: Critical - P2
-
Affects Version/s: None
-
Component/s: Change Streams
Change stream resumabilty in the node driver has two main issues:
- 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).
- 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.