-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
Description of Drivers Ticket:
The change streams spec resumable criteria is broad, considering all server errors resumable except a few exclusions, or errors with a NonResumableChangeStreamError label.
Drivers resume once, but we incorrectly assume that if we resume due to an error received on a getMore command, and succeed in sending the aggregate during resume, it is worthwhile to attempt the next getMore command. It is possible for getMores to consistently fail, even though aggregate succeeds.
I believe this warrants modifying either the criteria for resume logic (perhaps making it a whitelist instead of a blacklist), or modifying how we repeat resuming. E.g. perhaps we consider an error of the first getMore to be a failure to resume.
Spec commit: https://github.com/mongodb/specifications/commit/f93d78191f3db2898a59013a7ed5650352ef6da8
See DRIVERS-907 for updated details.
- duplicates
-
PHPLIB-537 Do not repeatedly resume if getMore receives the same error
- Closed