[DOCS-16497] Investigate changes in SERVER-79848: Difference in behavior of $_resumeAfter between classic and SBE engines Created: 15/Nov/23  Updated: 05/Feb/24

Status: Backlog
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 7.3.0-rc0, 7.2.0-rc2

Type: Task Priority: Minor - P4
Reporter: Backlog - Core Eng Program Management Team Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: backlog, feature
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-79848 Difference in behavior of $_resumeAft... Closed
Participants:
Days since reply: 12 weeks, 1 day ago

 Description   
Original Downstream Change Summary

This patch makes it so that both the classic engine and SBE obey the following semantics for the $_requestResumeToken and $_resumeAfter query options:

  • For $_requestResumeToken, 'null' is returned as the resumeToken after scanning the last document in a collection (prior to this patch, SBE would return the record id of the last document).
  • When a null RecordId is specified to $_resumeAfter, we raise a KeyNotFound error (prior to this patch, the classic engine would restart the scan from the beginning).

    Description of Linked Ticket

    When resuming from the last record in a collection, the classic engine returns resume token {"$recordId" : null} and SBE returns the last record.
    Resuming from {"$recordId" : null} in the classic record cycles back to the start of the collection and raises "KeyNotFound" error in SBE.


Generated at Thu Feb 08 08:15:30 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.