summaryrefslogtreecommitdiff
path: root/jstests/multiVersion/targetedTestsLastLtsFeatures/partial_indexes_downgrade.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/multiVersion/targetedTestsLastLtsFeatures/partial_indexes_downgrade.js')
-rw-r--r--jstests/multiVersion/targetedTestsLastLtsFeatures/partial_indexes_downgrade.js58
1 files changed, 26 insertions, 32 deletions
diff --git a/jstests/multiVersion/targetedTestsLastLtsFeatures/partial_indexes_downgrade.js b/jstests/multiVersion/targetedTestsLastLtsFeatures/partial_indexes_downgrade.js
index 4aab34fb17d..700354bdfb1 100644
--- a/jstests/multiVersion/targetedTestsLastLtsFeatures/partial_indexes_downgrade.js
+++ b/jstests/multiVersion/targetedTestsLastLtsFeatures/partial_indexes_downgrade.js
@@ -6,45 +6,39 @@
'use strict';
const dbpath = MongoRunner.dataPath + 'partial_indexes_downgrade';
+resetDbpath(dbpath);
-function runTest(targetFCV) {
- resetDbpath(dbpath);
+// Start with 6.0, create a partial index with an $or, then make sure we fail to downgrade FCV
+// to 5.0. Drop the index, then actually downgrade to 5.0.
+{
+ const conn =
+ MongoRunner.runMongod({dbpath: dbpath, binVersion: 'latest', noCleanData: true});
- // Start with 6.0, create a partial index with an $or, then make sure we fail to downgrade FCV
- // to 5.x. Drop the index, then actually downgrade to 5.x.
- {
- const conn =
- MongoRunner.runMongod({dbpath: dbpath, binVersion: 'latest', noCleanData: true});
+ const db = conn.getDB('test');
+ const coll = db['partial_indexes_downgrade'];
+ assert.commandWorked(coll.createIndex(
+ {a: 1, b: 1}, {partialFilterExpression: {$or: [{a: {$lt: 20}}, {b: {$lt: 10}}]}}));
- const db = conn.getDB('test');
- const coll = db['partial_indexes_downgrade'];
- assert.commandWorked(coll.createIndex(
- {a: 1, b: 1}, {partialFilterExpression: {$or: [{a: {$lt: 20}}, {b: {$lt: 10}}]}}));
+ coll.insert({a: 1, b: 1});
+ coll.insert({a: 30, b: 20});
- coll.insert({a: 1, b: 1});
- coll.insert({a: 30, b: 20});
+ assert.commandFailedWithCode(db.adminCommand({setFeatureCompatibilityVersion: lastLTSFCV}),
+ ErrorCodes.CannotDowngrade);
+ coll.dropIndexes();
+ assert.commandWorked(db.adminCommand({setFeatureCompatibilityVersion: lastLTSFCV}));
- assert.commandFailedWithCode(db.adminCommand({setFeatureCompatibilityVersion: targetFCV}),
- ErrorCodes.CannotDowngrade);
- coll.dropIndexes();
- assert.commandWorked(db.adminCommand({setFeatureCompatibilityVersion: targetFCV}));
-
- MongoRunner.stopMongod(conn);
- }
+ MongoRunner.stopMongod(conn);
+}
- // Startup with 5.x binary, with FCV set to 5.x.
- {
- const conn = MongoRunner.runMongod({dbpath: dbpath, binVersion: targetFCV, noCleanData: true});
+// Startup with 5.0 binary, with FCV set to 5.0.
+{
+ const conn = MongoRunner.runMongod({dbpath: dbpath, binVersion: lastLTSFCV, noCleanData: true});
- const db = conn.getDB('test');
- const coll = db['partial_indexes_downgrade'];
- // Make sure we are on the same db path as before.
- assert.eq(coll.aggregate().toArray().length, 2);
+ const db = conn.getDB('test');
+ const coll = db['partial_indexes_downgrade'];
+ // Make sure we are on the same db path as before.
+ assert.eq(coll.aggregate().toArray().length, 2);
- MongoRunner.stopMongod(conn);
- }
+ MongoRunner.stopMongod(conn);
}
-
-runTest(lastLTSFCV);
-runTest(lastContinuousFCV);
})(); \ No newline at end of file