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

getPostBatchResumeToken accesses the recordId slot after EOF

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Query Execution

    Description

      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.

      Attachments

        Activity

          People

            backlog-query-execution Backlog - Query Execution
            anna.wawrzyniak@mongodb.com Anna Wawrzyniak
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: