summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/validate_state_test.cpp
diff options
context:
space:
mode:
authorDaniel Ernst <daniel.ernst@mongodb.com>2020-01-30 16:40:42 +0000
committerevergreen <evergreen@mongodb.com>2020-01-30 16:40:42 +0000
commita6d3529b264b8b2331faea6a0e645fcf9def8f7f (patch)
treeee6277d3bf15a97cee213db95fc2c145c93ede48 /src/mongo/db/catalog/validate_state_test.cpp
parent4bea6f38267b33731f4f95e4fb10396bc6f9c8b5 (diff)
downloadmongo-a6d3529b264b8b2331faea6a0e645fcf9def8f7f.tar.gz
SERVER-41965 Change repair to only rebuild indexes on necessary collections
Diffstat (limited to 'src/mongo/db/catalog/validate_state_test.cpp')
-rw-r--r--src/mongo/db/catalog/validate_state_test.cpp33
1 files changed, 24 insertions, 9 deletions
diff --git a/src/mongo/db/catalog/validate_state_test.cpp b/src/mongo/db/catalog/validate_state_test.cpp
index 0ec7a5a5cbb..29ae065c147 100644
--- a/src/mongo/db/catalog/validate_state_test.cpp
+++ b/src/mongo/db/catalog/validate_state_test.cpp
@@ -108,12 +108,18 @@ TEST_F(ValidateStateTest, NonExistentCollectionShouldThrowNamespaceNotFoundError
auto opCtx = operationContext();
ASSERT_THROWS_CODE(CollectionValidation::ValidateState(
- opCtx, kNss, /*background*/ false, /*fullValidate*/ false),
+ opCtx,
+ kNss,
+ /*background*/ false,
+ CollectionValidation::ValidateOptions::kNoFullValidation),
AssertionException,
ErrorCodes::NamespaceNotFound);
ASSERT_THROWS_CODE(CollectionValidation::ValidateState(
- opCtx, kNss, /*background*/ true, /*fullValidate*/ false),
+ opCtx,
+ kNss,
+ /*background*/ true,
+ CollectionValidation::ValidateOptions::kNoFullValidation),
AssertionException,
ErrorCodes::NamespaceNotFound);
}
@@ -132,7 +138,7 @@ TEST_F(ValidateStateTest, UncheckpointedCollectionShouldThrowCursorNotFoundError
// error is thrown when attempting to open cursors.
createCollectionAndPopulateIt(opCtx, kNss);
CollectionValidation::ValidateState validateState(
- opCtx, kNss, /*background*/ true, /*fullValidate*/ false);
+ opCtx, kNss, /*background*/ true, CollectionValidation::ValidateOptions::kNoFullValidation);
ASSERT_THROWS_CODE(
validateState.initializeCursors(opCtx), AssertionException, ErrorCodes::CursorNotFound);
}
@@ -154,7 +160,10 @@ TEST_F(ValidateStateTest, OpenCursorsOnAllIndexes) {
{
// Open the cursors.
CollectionValidation::ValidateState validateState(
- opCtx, kNss, /*background*/ false, /*fullValidate*/ false);
+ opCtx,
+ kNss,
+ /*background*/ false,
+ CollectionValidation::ValidateOptions::kNoFullValidation);
validateState.initializeCursors(opCtx);
// Make sure all of the indexes were found and cursors opened against them. Including the
@@ -169,7 +178,10 @@ TEST_F(ValidateStateTest, OpenCursorsOnAllIndexes) {
// Check that foreground validation behaves just the same with checkpoint'ed data.
CollectionValidation::ValidateState validateState(
- opCtx, kNss, /*background*/ false, /*fullValidate*/ false);
+ opCtx,
+ kNss,
+ /*background*/ false,
+ CollectionValidation::ValidateOptions::kNoFullValidation);
validateState.initializeCursors(opCtx);
ASSERT_EQ(validateState.getIndexes().size(), 5);
}
@@ -193,7 +205,7 @@ TEST_F(ValidateStateTest, OpenCursorsOnCheckpointedIndexes) {
// Open the cursors.
CollectionValidation::ValidateState validateState(
- opCtx, kNss, /*background*/ true, /*fullValidate*/ false);
+ opCtx, kNss, /*background*/ true, CollectionValidation::ValidateOptions::kNoFullValidation);
validateState.initializeCursors(opCtx);
// Make sure the uncheckpoint'ed indexes are not found.
@@ -238,7 +250,7 @@ TEST_F(ValidateStateTest, OpenCursorsOnConsistentlyCheckpointedIndexes) {
// The two inconsistent indexes should not be found.
// (Note the _id index was create with collection creation, so we have 3 indexes.)
CollectionValidation::ValidateState validateState(
- opCtx, kNss, /*background*/ true, /*fullValidate*/ false);
+ opCtx, kNss, /*background*/ true, CollectionValidation::ValidateOptions::kNoFullValidation);
validateState.initializeCursors(opCtx);
ASSERT_EQ(validateState.getIndexes().size(), 3);
}
@@ -269,7 +281,10 @@ TEST_F(ValidateStateTest, CursorsAreNotOpenedAgainstCheckpointedIndexesThatWereL
// (Note the _id index was create with collection creation, so we have 3 indexes.)
{
CollectionValidation::ValidateState validateState(
- opCtx, kNss, /*background*/ true, /*fullValidate*/ false);
+ opCtx,
+ kNss,
+ /*background*/ true,
+ CollectionValidation::ValidateOptions::kNoFullValidation);
validateState.initializeCursors(opCtx);
ASSERT_EQ(validateState.getIndexes().size(), 3);
}
@@ -279,7 +294,7 @@ TEST_F(ValidateStateTest, CursorsAreNotOpenedAgainstCheckpointedIndexesThatWereL
opCtx->recoveryUnit()->waitUntilUnjournaledWritesDurable(opCtx); // provokes a checkpoint.
CollectionValidation::ValidateState validateState(
- opCtx, kNss, /*background*/ true, /*fullValidate*/ false);
+ opCtx, kNss, /*background*/ true, CollectionValidation::ValidateOptions::kNoFullValidation);
validateState.initializeCursors(opCtx);
ASSERT_EQ(validateState.getIndexes().size(), 3);
}