summaryrefslogtreecommitdiff
path: root/jstests/change_streams
diff options
context:
space:
mode:
authorDenis Grebennicov <denis.grebennicov@mongodb.com>2021-12-06 15:42:23 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-12-06 16:13:58 +0000
commit909c30b0ff8488299215ccd5ea96d6e3b625433d (patch)
tree85a01648589e132accb1e6f2bf3610046cfa9cf7 /jstests/change_streams
parent23fe0c825d6be1a0f4127c1cf19c997590fc0c42 (diff)
downloadmongo-909c30b0ff8488299215ccd5ea96d6e3b625433d.tar.gz
SERVER-60237 Implement FCV upgrade/downgrade for change stream pre-/post-images
Diffstat (limited to 'jstests/change_streams')
-rw-r--r--jstests/change_streams/change_stream_pre_image_lookup_whole_db_whole_cluster.js4
-rw-r--r--jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js1
-rw-r--r--jstests/change_streams/lookup_pit_pre_and_post_image.js4
-rw-r--r--jstests/change_streams/lookup_pre_image.js4
-rw-r--r--jstests/change_streams/write_pit_preimage.js9
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));