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

QueryableBackupMode + WT causes a full database scan

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.11
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Storage Execution
    • Fully Compatible

      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.

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

              Created:
              Updated:
              Resolved: