getPostBatchResumeToken accesses the recordId slot after EOF

XMLWordPrintableJSON

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

      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:
              [DO NOT USE] Backlog - Query Execution
              Reporter:
              Anna Wawrzyniak
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: