Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-12961

Investigate changes in SERVER-42768: uassert if the storage engine does not support checkpoints when running validate with { background: true }

      Description

      Downstream Change Summary

      Running the validate command with {background:true} requires a storage engine that supports checkpoints (so far WiredTiger only when it is not running in memory from what we support).

      Description of Linked Ticket

      We will have code along the lines of

      opCtx->setCheckpointRead()
      CheckpointLock lk = storageEngine->getCheckpointLock();
      recordStore()->getCursor()
      iam()->getCursor()

      we need something in here to fail when the storage engine does not support background validation using checkpoints...

      We were thinking of making RecoveryUnit::setTimestampReadSource check whether checkpoints are supported via a supportsCheckpoints() function on the RecoveryUnit or StorageEngine, but it appears setTimestampReadSource() is only implemented by WT and otherwise does nothing.

      So, unless we can think of something else, we probably need to create a StorageEngine::supportsCheckpoints() function and use it at the cmd level.

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

      Resources (Scope or Design Docs, Invision, etc.)

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              4 years, 27 weeks, 4 days ago