Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-72054

getPostBatchResumeToken accesses the recordId slot after EOF

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution

      getPostBatchResumeToken may be called after the underling stage returned EOF. Its current implementation uses recordSlotId to obtain recordId of last slot. However, one stage return EOF that slot is not longer valid and should not be accessed.

      https://github.com/10gen/mongo/blob/master/src/mongo/db/commands/getmore_cmd.cpp#L451

       

      Suggested fix:

      Make local copy of recordId in the executor that can be used instead of accessing the slot that may be invalidated.

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            anna.wawrzyniak@mongodb.com Anna Wawrzyniak
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: