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

use SeekableRecordCursor::saveUnpositioned() when possible

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Won't Fix
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None

    Description

      SeekableRecordCursor::saveUnpositioned() saves us an extra seek upon restoring from a yield. In classic engine, this was done for fetches as well as in index scans, but in SBE we never take advantage of this. This causes a loss in performance.

      For fetches, we never care about restoring the cursor location because we only return one result, so successive seeks never happen.

      For index scans, we can use saveUnpositioned when the scan is in the NeedSeek state.

      Porting these speed-ups to SBE will win back quite a bit of performance for snapshot_reads as well as mixed_workloads benchmarks.

      Attachments

        Activity

          People

            colin.stolley@mongodb.com Colin Stolley
            colin.stolley@mongodb.com Colin Stolley
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: