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

QueryableBackupMode + WT causes a full database scan

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 3.3.11
    • None
    • Storage
    • None
    • Storage Execution
    • Fully Compatible

    Description

      QueryableBackupMode will cause the `_sizeStorer` member to not be instantiated: https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp#L269

      When the `_sizeStorer` does not exist, the WiredTigerRecordStore ctor table scans to count up how many documents exist: https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp#L855

      This is not ideal. It seems that the size storer should be able to read data off disk while in QueryableBackupMode to initialize its state, while also avoiding any writes to disk as data should not be changing.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: