summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/validate_state.h
diff options
context:
space:
mode:
authorGregory Noma <gregory.noma@gmail.com>2020-05-21 13:29:13 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-05-21 17:55:43 +0000
commit3e9506132052647bdfb163f4acf8eed34db7d99c (patch)
treeeeacc584fd323c2dd2aa701bed31a68cbb1356f9 /src/mongo/db/catalog/validate_state.h
parentd05251d26bcc7f52a7a3f7caaebf4e9682d60ecd (diff)
downloadmongo-3e9506132052647bdfb163f4acf8eed34db7d99c.tar.gz
SERVER-44650 Add new test mode enforeFastCount to foreground validate
Diffstat (limited to 'src/mongo/db/catalog/validate_state.h')
-rw-r--r--src/mongo/db/catalog/validate_state.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/mongo/db/catalog/validate_state.h b/src/mongo/db/catalog/validate_state.h
index da58dc0b51f..bd9287fb463 100644
--- a/src/mongo/db/catalog/validate_state.h
+++ b/src/mongo/db/catalog/validate_state.h
@@ -61,8 +61,7 @@ public:
*/
ValidateState(OperationContext* opCtx,
const NamespaceString& nss,
- bool background,
- ValidateOptions options,
+ ValidateMode mode,
bool turnOnExtraLoggingForTest = false);
const NamespaceString& nss() const {
@@ -70,15 +69,20 @@ public:
}
bool isBackground() const {
- return _background;
+ return _mode == ValidateMode::kBackground;
}
- bool isFullCollectionValidation() const {
- return (_options & ValidateOptions::kFullRecordStoreValidation);
+ bool shouldEnforceFastCount() const {
+ return _mode == ValidateMode::kForegroundFullEnforceFastCount;
+ }
+
+ bool isFullValidation() const {
+ return _mode == ValidateMode::kForegroundFull ||
+ _mode == ValidateMode::kForegroundFullEnforceFastCount;
}
bool isFullIndexValidation() const {
- return (_options & ValidateOptions::kFullIndexValidation);
+ return isFullValidation() || _mode == ValidateMode::kForegroundFullIndexOnly;
}
const UUID uuid() const {
@@ -155,7 +159,7 @@ private:
/**
* Re-locks the database and collection with the appropriate locks for background validation.
- * This should only be called when '_background' is set to true.
+ * This should only be called when '_mode' is set to 'kBackground'.
*/
void _relockDatabaseAndCollection(OperationContext* opCtx);
@@ -186,8 +190,7 @@ private:
void _yieldCursors(OperationContext* opCtx);
NamespaceString _nss;
- bool _background;
- ValidateOptions _options;
+ ValidateMode _mode;
OptionalCollectionUUID _uuid;
boost::optional<Lock::GlobalLock> _globalLock;