[SERVER-42768] uassert if the storage engine does not support checkpoints when running validate with { background: true } Created: 12/Aug/19  Updated: 29/Oct/23  Resolved: 16/Aug/19

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.3.1

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Gregory Wlodarek
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
is documented by DOCS-12961 Investigate changes in SERVER-42768: ... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-08-26
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 16/Aug/19 ]

Author:

{'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}

Message: SERVER-42768 uassert if the storage engine does not support checkpoints when running validate with

{ background: true }

Branch: master
https://github.com/mongodb/mongo/commit/57e2f5bb65413907950899c8e0ab6e4ec82ff1d1

Comment by Gregory Wlodarek [ 15/Aug/19 ]

I tried looking at the checkpoint thread to see how we handle checkpointing on different storage engines today. Unfortunately, the WTCheckpointThread is WiredTiger specific logic and not a generalized class. Adding a supportsCheckpoints() function will be the best bet.

Generated at Thu Feb 08 05:01:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.