Uploaded image for project: 'PHP Driver: Extension'
  1. PHP Driver: Extension
  2. PHPC-1594

Do not repeatedly resume if getMore receives the same error

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      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.

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: