diff options
author | Denis Grebennicov <denis.grebennicov@mongodb.com> | 2021-12-06 15:42:23 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-12-06 16:13:58 +0000 |
commit | 909c30b0ff8488299215ccd5ea96d6e3b625433d (patch) | |
tree | 85a01648589e132accb1e6f2bf3610046cfa9cf7 /jstests/change_streams | |
parent | 23fe0c825d6be1a0f4127c1cf19c997590fc0c42 (diff) | |
download | mongo-909c30b0ff8488299215ccd5ea96d6e3b625433d.tar.gz |
SERVER-60237 Implement FCV upgrade/downgrade for change stream pre-/post-images
Diffstat (limited to 'jstests/change_streams')
5 files changed, 10 insertions, 12 deletions
diff --git a/jstests/change_streams/change_stream_pre_image_lookup_whole_db_whole_cluster.js b/jstests/change_streams/change_stream_pre_image_lookup_whole_db_whole_cluster.js index fc6fb28680d..7017fc707c2 100644 --- a/jstests/change_streams/change_stream_pre_image_lookup_whole_db_whole_cluster.js +++ b/jstests/change_streams/change_stream_pre_image_lookup_whole_db_whole_cluster.js @@ -13,14 +13,14 @@ (function() { "use strict"; -load("jstests/libs/change_stream_util.js"); // For canRecordPreImagesInConfigDatabase. +load("jstests/libs/change_stream_util.js"); // For isChangeStreamPreAndPostImagesEnabled. load("jstests/libs/fixture_helpers.js"); // For FixtureHelpers. const testDB = db.getSiblingDB(jsTestName()); const adminDB = db.getSiblingDB("admin"); const collWithPreImageName = "coll_with_pre_images"; const collWithNoPreImageName = "coll_with_no_pre_images"; -const canRecordPreImagesInConfigDb = canRecordPreImagesInConfigDatabase(testDB); +const canRecordPreImagesInConfigDb = isChangeStreamPreAndPostImagesEnabled(testDB); if (!canRecordPreImagesInConfigDb && FixtureHelpers.isMongos(db)) { jsTestLog("Skipping test as pre image lookup is not supported in sharded cluster with feature" + diff --git a/jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js b/jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js index d7555601788..2d3e91e1218 100644 --- a/jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js +++ b/jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js @@ -4,7 +4,6 @@ * * @tags: [ * featureFlagChangeStreamPreAndPostImages, - * featureFlagClusteredIndexes, * multiversion_incompatible, * requires_sharding, * uses_change_streams, diff --git a/jstests/change_streams/lookup_pit_pre_and_post_image.js b/jstests/change_streams/lookup_pit_pre_and_post_image.js index 411625ca9b2..2ff1b2cccd4 100644 --- a/jstests/change_streams/lookup_pit_pre_and_post_image.js +++ b/jstests/change_streams/lookup_pit_pre_and_post_image.js @@ -9,12 +9,12 @@ "use strict"; load("jstests/libs/collection_drop_recreate.js"); // For assertDropAndRecreateCollection. -load("jstests/libs/change_stream_util.js"); // For canRecordPreImagesInConfigDatabase. +load("jstests/libs/change_stream_util.js"); // For isChangeStreamPreAndPostImagesEnabled. const testDB = db.getSiblingDB(jsTestName()); const collName = "test"; -if (!canRecordPreImagesInConfigDatabase(testDB)) { +if (!isChangeStreamPreAndPostImagesEnabled(testDB)) { const coll = assertDropAndRecreateCollection(testDB, collName); // If feature flag is off, creating changeStream with new fullDocument arguments should throw. diff --git a/jstests/change_streams/lookup_pre_image.js b/jstests/change_streams/lookup_pre_image.js index a9ebbb73611..d7662939d04 100644 --- a/jstests/change_streams/lookup_pre_image.js +++ b/jstests/change_streams/lookup_pre_image.js @@ -14,11 +14,11 @@ "use strict"; load("jstests/libs/change_stream_util.js"); // For ChangeStreamTest and - // canRecordPreImagesInConfigDatabase. + // isChangeStreamPreAndPostImagesEnabled. load("jstests/libs/collection_drop_recreate.js"); // For assert[Drop|Create]Collection. load("jstests/libs/fixture_helpers.js"); // For FixtureHelpers. -const canRecordPreImagesInConfigDb = canRecordPreImagesInConfigDatabase(db); +const canRecordPreImagesInConfigDb = isChangeStreamPreAndPostImagesEnabled(db); if (!canRecordPreImagesInConfigDb && FixtureHelpers.isMongos(db)) { jsTestLog("Skipping test as pre image lookup is not supported in sharded cluster with feature" + diff --git a/jstests/change_streams/write_pit_preimage.js b/jstests/change_streams/write_pit_preimage.js index 654edc958af..0fd797209c4 100644 --- a/jstests/change_streams/write_pit_preimage.js +++ b/jstests/change_streams/write_pit_preimage.js @@ -1,13 +1,10 @@ // Tests that pre-images are stored in the pre-images collection on updates and deletes in // collections with 'changeStreamPreAndPostImages' being enabled. // @tags: [ -// requires_fcv_51, +// requires_fcv_52, // featureFlagChangeStreamPreAndPostImages, -// # Clustered index support is required for change stream pre-images collection. -// featureFlagClusteredIndexes, // assumes_against_mongod_not_mongos, // change_stream_does_not_expect_txns, -// multiversion_incompatible, // ] (function() { "use strict"; @@ -51,8 +48,10 @@ function assertValidChangeStreamPreImageDocument(preImage) { function testFunc(collOptions = {}) { let coll = assertDropAndRecreateCollection(testDB, collName, collOptions); - assertDropCollection(configDB, preImagesCollName); + + // Ensure we test the behavior with a clean state. const preImagesColl = configDB.getCollection(preImagesCollName); + assert.commandWorked(preImagesColl.deleteMany({})); // Perform an insert and an update modification. assert.commandWorked(coll.insert(originalDoc)); |