summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/generate_subtasks_config.yml1
-rw-r--r--jstests/concurrency/fsm_workload_helpers/server_types.js9
-rw-r--r--jstests/concurrency/fsm_workloads/create_database.js1
-rw-r--r--jstests/core/apitest_db.js4
-rw-r--r--jstests/core/crud_ops_do_not_throw_locktimeout.js7
-rw-r--r--jstests/core/views/invalid_system_views.js3
-rw-r--r--jstests/core_standalone/read_concern.js2
-rw-r--r--jstests/libs/retryable_writes_util.js4
-rw-r--r--jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js10
-rw-r--r--jstests/noPassthrough/supports_read_concern_majority.js30
-rw-r--r--jstests/noPassthrough/validate_detects_invalid_index_options.js4
-rw-r--r--jstests/noPassthroughWithMongod/bench_test_crud_commands.js2
-rw-r--r--jstests/noPassthroughWithMongod/ephemeral_for_test_memory_metrics.js64
-rw-r--r--jstests/noPassthroughWithMongod/stress_test_unique_index_notunique.js5
-rw-r--r--jstests/noPassthroughWithMongod/stress_test_unique_index_unique.js5
-rw-r--r--jstests/replsets/tenant_migration_concurrent_bulk_writes.js2
-rw-r--r--jstests/replsets/tenant_migration_concurrent_migrations.js5
-rw-r--r--jstests/replsets/tenant_migration_concurrent_writes_on_donor.js5
-rw-r--r--jstests/replsets/tenant_migration_donor_current_op.js2
-rw-r--r--jstests/replsets/tenant_migration_donor_initial_sync_recovery.js2
-rw-r--r--jstests/replsets/tenant_migration_donor_startup_recovery.js1
-rw-r--r--jstests/replsets/tenant_migration_donor_state_machine.js5
-rw-r--r--jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js2
-rw-r--r--jstests/replsets/tenant_migration_recipient_current_op.js2
-rw-r--r--jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js2
-rw-r--r--jstests/replsets/tenant_migration_recipient_startup_recovery.js2
-rw-r--r--jstests/replsets/tenant_migration_shard_merge_recipient_current_op.js2
-rw-r--r--jstests/replsets/tenant_migration_test_max_bson_limit.js2
-rw-r--r--jstests/sharding/top_chunk_autosplit.js2
-rw-r--r--jstests/ssl/libs/ssl_helpers.js3
-rw-r--r--jstests/sslSpecial/upgrade_to_x509_ssl_nossl.js5
-rw-r--r--jstests/ssl_x509/initial_sync1_x509.js3
-rw-r--r--jstests/ssl_x509/shell_x509_system_user.js3
-rw-r--r--jstests/ssl_x509/upgrade_to_x509_ssl.js3
-rw-r--r--src/mongo/db/catalog/README.md4
-rw-r--r--src/mongo/db/catalog/catalog_test_fixture.h4
-rw-r--r--src/mongo/db/catalog/collection_validation_test.cpp2
-rw-r--r--src/mongo/db/catalog/database_test.cpp6
-rw-r--r--src/mongo/db/commands/validate.cpp9
-rw-r--r--src/mongo/db/mongod_options.cpp4
-rw-r--r--src/mongo/db/repl/oplog_test.cpp5
-rw-r--r--src/mongo/db/repl/replication_recovery_test.cpp14
-rw-r--r--src/mongo/db/repl/rollback_test_fixture.h7
-rw-r--r--src/mongo/db/s/shard_server_test_fixture.h4
-rw-r--r--src/mongo/db/service_context_d_test_fixture.cpp5
-rw-r--r--src/mongo/db/service_context_d_test_fixture.h3
-rw-r--r--src/mongo/db/startup_warnings_mongod.cpp7
-rw-r--r--src/mongo/db/storage/flow_control_test.cpp12
-rw-r--r--src/mongo/db/storage/storage_engine_init.cpp3
-rw-r--r--src/mongo/dbtests/dbhelper_tests.cpp7
-rw-r--r--src/mongo/dbtests/query_stage_batched_delete.cpp5
-rw-r--r--src/mongo/dbtests/validate_tests.cpp45
-rw-r--r--src/mongo/shell/replsettest.js3
53 files changed, 54 insertions, 299 deletions
diff --git a/etc/generate_subtasks_config.yml b/etc/generate_subtasks_config.yml
index 4b78d77367f..f5c039234ea 100644
--- a/etc/generate_subtasks_config.yml
+++ b/etc/generate_subtasks_config.yml
@@ -34,7 +34,6 @@ build_variant_large_distro_exceptions:
- enterprise-ubuntu1804-s390x
- enterprise-ubuntu2004-arm64
- hot_backups-rhel-70-64-bit
- - linux-64-ephemeralForTest
- macos
- macos-arm64
- macos-debug-suggested
diff --git a/jstests/concurrency/fsm_workload_helpers/server_types.js b/jstests/concurrency/fsm_workload_helpers/server_types.js
index 7487bd53561..272e07d901e 100644
--- a/jstests/concurrency/fsm_workload_helpers/server_types.js
+++ b/jstests/concurrency/fsm_workload_helpers/server_types.js
@@ -56,18 +56,11 @@ function isWiredTiger(db) {
}
/**
- * Returns true if the current storage engine is ephemeralForTest, and false otherwise.
- */
-function isEphemeralForTest(db) {
- return getStorageEngineName(db) === 'ephemeralForTest';
-}
-
-/**
* Returns true if the current storage engine is ephemeral, and false otherwise.
*/
function isEphemeral(db) {
var engine = getStorageEngineName(db);
- return (engine === 'inMemory') || (engine === 'ephemeralForTest');
+ return engine === 'inMemory';
}
/**
diff --git a/jstests/concurrency/fsm_workloads/create_database.js b/jstests/concurrency/fsm_workloads/create_database.js
index 8391a6fb5dc..fead902fcc1 100644
--- a/jstests/concurrency/fsm_workloads/create_database.js
+++ b/jstests/concurrency/fsm_workloads/create_database.js
@@ -12,7 +12,6 @@
* @tags: [creates_background_indexes]
*/
-load('jstests/concurrency/fsm_workload_helpers/server_types.js'); // for isEphemeralForTest
load("jstests/concurrency/fsm_workload_helpers/assert_handle_fail_in_transaction.js");
var $config = (function() {
diff --git a/jstests/core/apitest_db.js b/jstests/core/apitest_db.js
index 03d82401726..5d220520abc 100644
--- a/jstests/core/apitest_db.js
+++ b/jstests/core/apitest_db.js
@@ -94,8 +94,8 @@ assert.commandFailed(
'configured a storage engine with invalid options');
// Tests that a non-active storage engine can be configured so long as it is registered.
-var alternateStorageEngine = db.serverBuildInfo().storageEngines.find(
- engine => engine !== storageEngineName && engine !== "biggie");
+var alternateStorageEngine =
+ db.serverBuildInfo().storageEngines.find(engine => engine !== storageEngineName);
if (alternateStorageEngine) {
var indexOptions = {storageEngine: {[alternateStorageEngine]: {}}};
assert.commandWorked(db.createCollection('idxOptions', {indexOptionDefaults: indexOptions}),
diff --git a/jstests/core/crud_ops_do_not_throw_locktimeout.js b/jstests/core/crud_ops_do_not_throw_locktimeout.js
index 2efec78ef37..8062ca996d1 100644
--- a/jstests/core/crud_ops_do_not_throw_locktimeout.js
+++ b/jstests/core/crud_ops_do_not_throw_locktimeout.js
@@ -24,12 +24,9 @@ const doc = {
assert.commandWorked(coll.insert(doc));
// Figure out if lock-free reads is supported so we know the expected behavior later.
-// (1) ephemeralForTest automatically uses enableMajorityReadConcern=false, which disable lock-free
-// reads.
-// (2) lock-free reads are only supported in server versions 4.9+
+// Lock-free reads are only supported in server versions 4.9+
const maxWireVersion = assert.commandWorked(db.runCommand({isMaster: 1})).maxWireVersion;
-const isLockFreeReadsEnabled = jsTest.options().storageEngine !== "ephemeralForTest" &&
- maxWireVersion >= 12 /* WIRE_VERSION_49 */;
+const isLockFreeReadsEnabled = maxWireVersion >= 12 /* WIRE_VERSION_49 */;
const failpoint = 'hangAfterDatabaseLock';
assert.commandWorked(db.adminCommand({configureFailPoint: failpoint, mode: "alwaysOn"}));
diff --git a/jstests/core/views/invalid_system_views.js b/jstests/core/views/invalid_system_views.js
index 25e973ed9a1..8d5c1131920 100644
--- a/jstests/core/views/invalid_system_views.js
+++ b/jstests/core/views/invalid_system_views.js
@@ -104,8 +104,7 @@ function runTest(badViewDefinition) {
}
const storageEngine = jsTest.options().storageEngine;
- if (isMongos || storageEngine === "ephemeralForTest" || storageEngine === "inMemory" ||
- storageEngine === "biggie") {
+ if (isMongos || storageEngine === "inMemory") {
print("Not testing compact command on mongos or ephemeral storage engine");
} else {
assert.commandWorked(viewsDB.runCommand({compact: "collection", force: true}),
diff --git a/jstests/core_standalone/read_concern.js b/jstests/core_standalone/read_concern.js
index 17b276b99ed..83b52f7dc9f 100644
--- a/jstests/core_standalone/read_concern.js
+++ b/jstests/core_standalone/read_concern.js
@@ -20,7 +20,7 @@ assert.commandWorked(t.runCommand({find: "read_concern", readConcern: {level: "a
"expected available readConcern to succeed on standalone mongod");
var majority_result = t.runCommand({find: "read_concern", readConcern: {level: "majority"}});
-if (isWiredTiger(db) || (isEphemeral(db) && !isEphemeralForTest(db))) {
+if (isWiredTiger(db) || isEphemeral(db)) {
// Majority readConcern succeed.
assert.commandWorked(majority_result,
"expected majority readConcern to succeed on standalone mongod");
diff --git a/jstests/libs/retryable_writes_util.js b/jstests/libs/retryable_writes_util.js
index 33db8ac9f8f..6033655351d 100644
--- a/jstests/libs/retryable_writes_util.js
+++ b/jstests/libs/retryable_writes_util.js
@@ -43,11 +43,13 @@ var RetryableWritesUtil = (function() {
return kRetryableWriteCommands.has(cmdName);
}
- const kStorageEnginesWithoutDocumentLocking = new Set(["ephemeralForTest"]);
+ // TODO (SERVER-66118): Remove.
+ const kStorageEnginesWithoutDocumentLocking = new Set([]);
/**
* Returns true if the given storage engine supports retryable writes (i.e. supports
* document-level locking).
+ * TODO (SERVER-66118): Remove.
*/
function storageEngineSupportsRetryableWrites(storageEngineName) {
return !kStorageEnginesWithoutDocumentLocking.has(storageEngineName);
diff --git a/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js b/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js
index d035efc61b1..8dfbf74da90 100644
--- a/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js
+++ b/jstests/noPassthrough/lock_free_ops_concurrent_with_exclusive_lock.js
@@ -15,16 +15,6 @@ load('jstests/libs/parallel_shell_helpers.js');
let conn = MongoRunner.runMongod({});
assert(conn);
-// Lock-free reads is disabled with the ephemeralForTest storage engine that uses
-// enableMajorityReadConcern=false, which automatically disables lock-free reads.
-const isLockFreeReadsEnabled = jsTest.options().storageEngine !== "ephemeralForTest";
-
-if (!isLockFreeReadsEnabled) {
- jsTestLog("Exiting test because lock-free reads are not enabled.");
- MongoRunner.stopMongod(conn);
- return;
-}
-
const dbName = 'testDatabase';
const collName = 'testCollection';
diff --git a/jstests/noPassthrough/supports_read_concern_majority.js b/jstests/noPassthrough/supports_read_concern_majority.js
index 64cc5b7dad1..5bf5bba6fa8 100644
--- a/jstests/noPassthrough/supports_read_concern_majority.js
+++ b/jstests/noPassthrough/supports_read_concern_majority.js
@@ -1,31 +1,11 @@
/**
- * Tests that mongod fails to start if enableMajorityReadConcern is set to false on non test only
- * storage engines, which are only expected to support read concern majority.
- *
- * Also verifies that the server automatically uses enableMajorityReadConcern=false if we're using a
- * test only storage engine.
+ * Tests that mongod fails to start if enableMajorityReadConcern is set to false.
*/
(function() {
"use strict";
-const storageEngine = jsTest.options().storageEngine;
-if (storageEngine === "wiredTiger" || storageEngine === "inMemory") {
- const conn = MongoRunner.runMongod({enableMajorityReadConcern: false});
- assert(!conn);
- var logContents = rawMongoProgramOutput();
- assert(logContents.indexOf("enableMajorityReadConcern:false is no longer supported") > 0);
- return;
-}
-
-if (storageEngine === "ephemeralForTest") {
- const conn = MongoRunner.runMongod();
- assert(conn);
- var logContents = rawMongoProgramOutput();
- assert(
- logContents.indexOf(
- "Test storage engine does not support enableMajorityReadConcern=true, forcibly setting to false") >
- 0);
- MongoRunner.stopMongod(conn);
- return;
-}
+const conn = MongoRunner.runMongod({enableMajorityReadConcern: false});
+assert(!conn);
+const logContents = rawMongoProgramOutput();
+assert(logContents.indexOf("enableMajorityReadConcern:false is no longer supported") > 0);
})(); \ No newline at end of file
diff --git a/jstests/noPassthrough/validate_detects_invalid_index_options.js b/jstests/noPassthrough/validate_detects_invalid_index_options.js
index 266e124984a..2ebc56d402f 100644
--- a/jstests/noPassthrough/validate_detects_invalid_index_options.js
+++ b/jstests/noPassthrough/validate_detects_invalid_index_options.js
@@ -37,9 +37,7 @@ assert(!validateRes.valid);
// Validation of metadata complete for collection. Problems detected.
checkLog.containsJson(conn, 5980501);
-// Cannot use { metadata: true } with any other options. Background validation is converted into a
-// foreground validation on the ephemeralForTest storage engine, making it incompatible with this
-// test.
+// Cannot use { metadata: true } with any other options.
assert.commandFailedWithCode(db.runCommand({validate: collName, metadata: true, background: true}),
ErrorCodes.InvalidOptions);
assert.commandFailedWithCode(db.runCommand({validate: collName, metadata: true, repair: true}),
diff --git a/jstests/noPassthroughWithMongod/bench_test_crud_commands.js b/jstests/noPassthroughWithMongod/bench_test_crud_commands.js
index d324a4746b9..8830ff4bdc7 100644
--- a/jstests/noPassthroughWithMongod/bench_test_crud_commands.js
+++ b/jstests/noPassthroughWithMongod/bench_test_crud_commands.js
@@ -73,7 +73,7 @@ function testWriteConcern() {
testInsert(docs, {"w": "majority"});
testInsert(docs, {"w": 1, "j": false});
- var storageEnginesWithoutJournaling = new Set(["ephemeralForTest", "inMemory"]);
+ var storageEnginesWithoutJournaling = new Set(["inMemory"]);
var runningWithoutJournaling = TestData.noJournal ||
storageEnginesWithoutJournaling.has(db.serverStatus().storageEngine.name);
if (!runningWithoutJournaling) {
diff --git a/jstests/noPassthroughWithMongod/ephemeral_for_test_memory_metrics.js b/jstests/noPassthroughWithMongod/ephemeral_for_test_memory_metrics.js
deleted file mode 100644
index 4b07ed4541b..00000000000
--- a/jstests/noPassthroughWithMongod/ephemeral_for_test_memory_metrics.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Tracks ephemeralForTest's memory usage metrics on a consistent workload.
- */
-(function() {
-"use strict";
-
-const storageEngine = jsTest.options().storageEngine;
-if (storageEngine != "ephemeralForTest") {
- return;
-}
-
-let testColl1 = db.jstests_ephemeralForTest_metrics1;
-let testColl2 = db.jstests_ephemeralForTest_metrics2;
-let testColl3 = db.jstests_ephemeralForTest_metrics3;
-
-const s1 = startParallelShell(() => {
- testColl1 = db.jstests_ephemeralForTest_metrics1;
- for (let i = 0; i < 50000; ++i) {
- assert.writeOK(testColl1.save({x: Math.floor(Math.random() * 1024 * 1024), y: "y"}));
- }
- assert.commandWorked(testColl1.createIndex({x: 1, y: 1}));
- for (let i = 0; i < 50000; ++i) {
- assert.writeOK(testColl1.save({x: Math.floor(Math.random() * 1024 * 1024), y: "y"}));
- }
-});
-
-const s2 = startParallelShell(function() {
- testColl2 = db.jstests_ephemeralForTest_metrics2;
- for (let i = 0; i < 50000; ++i) {
- assert.writeOK(testColl2.save({x: "x", y: Math.floor(Math.random() * 1024 * 1024)}));
- }
-
- for (let i = 0; i < 100; ++i) {
- assert.commandWorked(
- testColl2.updateOne({x: "x"}, {$set: {x: Math.floor(Math.random() * 1024 * 1024)}}));
- }
-});
-
-const s3 = startParallelShell(function() {
- testColl3 = db.jstests_ephemeralForTest_metrics3;
- for (let i = 0; i < 50000; ++i) {
- assert.writeOK(testColl3.save({x: i, y: Math.floor(Math.random() * 1024 * 1024)}));
- }
-});
-
-s1();
-s2();
-s3();
-
-let serverStatus = db.serverStatus().ephemeralForTest;
-print("Total Memory Usage: " + serverStatus.totalMemoryUsage + " Bytes.");
-print("Total Number of Nodes: " + serverStatus.totalNodes + ".");
-print("Average Number of Children: " + serverStatus.averageChildren + ".");
-
-for (let i = 0; i < 50000; ++i) {
- assert.commandWorked(testColl3.deleteOne({x: i}));
-}
-
-serverStatus = db.serverStatus().ephemeralForTest;
-print("After Deletion:");
-print("Total Memory Usage: " + serverStatus.totalMemoryUsage + " Bytes.");
-print("Total Number of Nodes: " + serverStatus.totalNodes + ".");
-print("Average Number of Children: " + serverStatus.averageChildren + ".");
-})(); \ No newline at end of file
diff --git a/jstests/noPassthroughWithMongod/stress_test_unique_index_notunique.js b/jstests/noPassthroughWithMongod/stress_test_unique_index_notunique.js
index 8218c72becc..52da5721b35 100644
--- a/jstests/noPassthroughWithMongod/stress_test_unique_index_notunique.js
+++ b/jstests/noPassthroughWithMongod/stress_test_unique_index_notunique.js
@@ -1,10 +1,5 @@
/*
* Tests that unique indexes can be built with a large number of non-unique values.
- *
- * @tags: [
- * // This workload is too impactful on ephemeralForTest
- * requires_wiredtiger,
- * ]
*/
(function() {
diff --git a/jstests/noPassthroughWithMongod/stress_test_unique_index_unique.js b/jstests/noPassthroughWithMongod/stress_test_unique_index_unique.js
index 96aa7e3c51f..3b1775a1a8a 100644
--- a/jstests/noPassthroughWithMongod/stress_test_unique_index_unique.js
+++ b/jstests/noPassthroughWithMongod/stress_test_unique_index_unique.js
@@ -1,10 +1,5 @@
/**
* Tests that unique indexes can be built with a large number of unique values.
- *
- * @tags: [
- * // This workload is too impactful on ephemeralForTest
- * requires_wiredtiger,
- * ]
*/
(function() {
diff --git a/jstests/replsets/tenant_migration_concurrent_bulk_writes.js b/jstests/replsets/tenant_migration_concurrent_bulk_writes.js
index 6b76a009693..a67b381455b 100644
--- a/jstests/replsets/tenant_migration_concurrent_bulk_writes.js
+++ b/jstests/replsets/tenant_migration_concurrent_bulk_writes.js
@@ -2,8 +2,6 @@
* Tests that bulk writes during a tenant migration correctly report write errors and
* retries writes that returned TenantMigrationCommitted.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_windows_tls,
diff --git a/jstests/replsets/tenant_migration_concurrent_migrations.js b/jstests/replsets/tenant_migration_concurrent_migrations.js
index a9cf2b579b9..752c18fffca 100644
--- a/jstests/replsets/tenant_migration_concurrent_migrations.js
+++ b/jstests/replsets/tenant_migration_concurrent_migrations.js
@@ -1,11 +1,6 @@
/**
* Test that multiple concurrent tenant migrations are supported.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest, and in particular
- * this test fails on ephemeralForTest because the donor has to wait for the write to set the
- * migration state to "committed" and "aborted" to be majority committed but it cannot do that on
- * ephemeralForTest.
- *
* Incompatible with shard merge, which can't handle concurrent migrations.
*
* @tags: [
diff --git a/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js b/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js
index 2fb680a6f39..48e62e8f05d 100644
--- a/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js
+++ b/jstests/replsets/tenant_migration_concurrent_writes_on_donor.js
@@ -2,11 +2,6 @@
* Tests that the donor blocks writes that are executed while the migration in the blocking state,
* then rejects the writes when the migration completes.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest, and in particular
- * this test fails on ephemeralForTest because the donor has to wait for the write to set the
- * migration state to "committed" and "aborted" to be majority committed but it cannot do that on
- * ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_windows_tls,
diff --git a/jstests/replsets/tenant_migration_donor_current_op.js b/jstests/replsets/tenant_migration_donor_current_op.js
index c71c8adeac6..e045f4baab4 100644
--- a/jstests/replsets/tenant_migration_donor_current_op.js
+++ b/jstests/replsets/tenant_migration_donor_current_op.js
@@ -1,8 +1,6 @@
/**
* Tests currentOp command during a tenant migration.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_windows_tls,
diff --git a/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js b/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js
index 900d2eb0373..85429af3ddd 100644
--- a/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js
+++ b/jstests/replsets/tenant_migration_donor_initial_sync_recovery.js
@@ -2,8 +2,6 @@
* Tests that tenant migration donor's in memory state is initialized correctly on initial sync.
* This test randomly selects a point during the migration to add a node to the donor replica set.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_windows_tls,
diff --git a/jstests/replsets/tenant_migration_donor_startup_recovery.js b/jstests/replsets/tenant_migration_donor_startup_recovery.js
index 6079954a570..7a564e416a5 100644
--- a/jstests/replsets/tenant_migration_donor_startup_recovery.js
+++ b/jstests/replsets/tenant_migration_donor_startup_recovery.js
@@ -2,7 +2,6 @@
* Tests that tenant migration donor's in memory state is recovered correctly on startup. This test
* randomly selects a point during the migration to shutdown the donor.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
* Incompatible with shard merge, which can't handle restart.
*
* @tags: [
diff --git a/jstests/replsets/tenant_migration_donor_state_machine.js b/jstests/replsets/tenant_migration_donor_state_machine.js
index e9c4af0358b..2afaf565de4 100644
--- a/jstests/replsets/tenant_migration_donor_state_machine.js
+++ b/jstests/replsets/tenant_migration_donor_state_machine.js
@@ -2,11 +2,6 @@
* Tests the TenantMigrationAccessBlocker and donor state document are updated correctly at each
* stage of the migration, and are eventually removed after the donorForgetMigration has returned.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest, and in particular
- * this test fails on ephemeralForTest because the donor has to wait for the write to set the
- * migration state to "committed" and "aborted" to be majority committed but it cannot do that on
- * ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_windows_tls,
diff --git a/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js b/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js
index 2fc6acb27ee..178eb73ea34 100644
--- a/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js
+++ b/jstests/replsets/tenant_migration_ensure_migration_outcome_visibility_for_blocked_writes.js
@@ -2,8 +2,6 @@
* Tests that writes that are blocked during a tenant migration will still be able to find out
* migration outcome even if the migration's in memory state has been garbage collected.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_windows_tls,
diff --git a/jstests/replsets/tenant_migration_recipient_current_op.js b/jstests/replsets/tenant_migration_recipient_current_op.js
index f5cf66cbfb1..a2ce3cb4a2f 100644
--- a/jstests/replsets/tenant_migration_recipient_current_op.js
+++ b/jstests/replsets/tenant_migration_recipient_current_op.js
@@ -5,8 +5,6 @@
*
* kStarted ---> kConsistent ---> kDone.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_shard_merge,
* incompatible_with_macos,
diff --git a/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js b/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js
index 8a054d3b0be..404bf0fa765 100644
--- a/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js
+++ b/jstests/replsets/tenant_migration_recipient_initial_sync_recovery.js
@@ -2,8 +2,6 @@
* Tests that tenant migration recipient's in memory state is initialized correctly on initial sync.
* This test randomly selects a point during the migration to add a node to the recipient.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_shard_merge,
diff --git a/jstests/replsets/tenant_migration_recipient_startup_recovery.js b/jstests/replsets/tenant_migration_recipient_startup_recovery.js
index 0095ae5364d..978ddd787b0 100644
--- a/jstests/replsets/tenant_migration_recipient_startup_recovery.js
+++ b/jstests/replsets/tenant_migration_recipient_startup_recovery.js
@@ -2,8 +2,6 @@
* Tests that tenant migration recipient's in memory state is recovered correctly on startup. This
* test randomly selects a point during the migration to shutdown the recipient.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_shard_merge,
diff --git a/jstests/replsets/tenant_migration_shard_merge_recipient_current_op.js b/jstests/replsets/tenant_migration_shard_merge_recipient_current_op.js
index 83ab0b5753e..5b3908b659f 100644
--- a/jstests/replsets/tenant_migration_shard_merge_recipient_current_op.js
+++ b/jstests/replsets/tenant_migration_shard_merge_recipient_current_op.js
@@ -4,8 +4,6 @@
*
* kStarted ---> kLearnedFilenames ---> kConsistent ---> kDone.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* featureFlagShardMerge,
* incompatible_with_macos,
diff --git a/jstests/replsets/tenant_migration_test_max_bson_limit.js b/jstests/replsets/tenant_migration_test_max_bson_limit.js
index 45520147bdd..293442f3034 100644
--- a/jstests/replsets/tenant_migration_test_max_bson_limit.js
+++ b/jstests/replsets/tenant_migration_test_max_bson_limit.js
@@ -1,8 +1,6 @@
/**
* Tests that large write error results from bulk write operations are within the BSON size limit.
*
- * Tenant migrations are not expected to be run on servers with ephemeralForTest.
- *
* @tags: [
* incompatible_with_macos,
* incompatible_with_windows_tls,
diff --git a/jstests/sharding/top_chunk_autosplit.js b/jstests/sharding/top_chunk_autosplit.js
index 7d969aed0c8..a2c5a1e7def 100644
--- a/jstests/sharding/top_chunk_autosplit.js
+++ b/jstests/sharding/top_chunk_autosplit.js
@@ -365,7 +365,7 @@ assert.commandWorked(db.adminCommand({addshard: st.getConnNames()[0], maxSize: 5
assert.commandWorked(db.adminCommand({addshard: st.getConnNames()[1], maxSize: 1}));
// SERVER-17070 Auto split moves to shard node running WiredTiger, if exceeding maxSize
-var unsupported = ["wiredTiger", "rocksdb", "inMemory", "ephemeralForTest"];
+var unsupported = ["wiredTiger", "rocksdb", "inMemory"];
if (unsupported.indexOf(st.rs0.getPrimary().adminCommand({serverStatus: 1}).storageEngine.name) ==
-1 &&
unsupported.indexOf(st.rs1.getPrimary().adminCommand({serverStatus: 1}).storageEngine.name) ==
diff --git a/jstests/ssl/libs/ssl_helpers.js b/jstests/ssl/libs/ssl_helpers.js
index 3401e86dd9e..44d5462f4ac 100644
--- a/jstests/ssl/libs/ssl_helpers.js
+++ b/jstests/ssl/libs/ssl_helpers.js
@@ -130,8 +130,7 @@ function mixedShardTest(options1, options2, shouldSucceed) {
// authentication, so in this test we must make the choice explicitly, based on the global
// test options.
let wcMajorityJournalDefault;
- if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "ephemeralForTest" ||
- jsTestOptions().storageEngine == "inMemory") {
+ if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "inMemory") {
wcMajorityJournalDefault = false;
} else {
wcMajorityJournalDefault = true;
diff --git a/jstests/sslSpecial/upgrade_to_x509_ssl_nossl.js b/jstests/sslSpecial/upgrade_to_x509_ssl_nossl.js
index 142b16bcabc..830b353481c 100644
--- a/jstests/sslSpecial/upgrade_to_x509_ssl_nossl.js
+++ b/jstests/sslSpecial/upgrade_to_x509_ssl_nossl.js
@@ -19,9 +19,8 @@ load("jstests/ssl/libs/ssl_helpers.js");
// cluster authentication. Choosing the default value for wcMajorityJournalDefault in
// ReplSetTest cannot be done automatically without the shell performing such authentication, so
// in this test we must make the choice explicitly, based on the global test options.
-const wcMajorityJournalDefault = !jsTestOptions().noJournal &&
- (jsTestOptions().storageEngine != "ephemeralForTest") &&
- (jsTestOptions().storageEngine != "inMemory");
+const wcMajorityJournalDefault =
+ !jsTestOptions().noJournal && jsTestOptions().storageEngine != "inMemory";
const opts = {
sslMode: "disabled",
diff --git a/jstests/ssl_x509/initial_sync1_x509.js b/jstests/ssl_x509/initial_sync1_x509.js
index b9d66693f6b..54366303f76 100644
--- a/jstests/ssl_x509/initial_sync1_x509.js
+++ b/jstests/ssl_x509/initial_sync1_x509.js
@@ -16,8 +16,7 @@ function runInitialSyncTest() {
// ReplSetTest cannot be done automatically without the shell performing such authentication, so
// in this test we must make the choice explicitly, based on the global test options.
var wcMajorityJournalDefault;
- if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "ephemeralForTest" ||
- jsTestOptions().storageEngine == "inMemory") {
+ if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "inMemory") {
wcMajorityJournalDefault = false;
} else {
wcMajorityJournalDefault = true;
diff --git a/jstests/ssl_x509/shell_x509_system_user.js b/jstests/ssl_x509/shell_x509_system_user.js
index 0f7af04d95a..adca45975e8 100644
--- a/jstests/ssl_x509/shell_x509_system_user.js
+++ b/jstests/ssl_x509/shell_x509_system_user.js
@@ -9,8 +9,7 @@
// ReplSetTest cannot be done automatically without the shell performing such authentication, so
// in this test we must make the choice explicitly, based on the global test options.
let wcMajorityJournalDefault;
-if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "ephemeralForTest" ||
- jsTestOptions().storageEngine == "inMemory") {
+if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "inMemory") {
wcMajorityJournalDefault = false;
} else {
wcMajorityJournalDefault = true;
diff --git a/jstests/ssl_x509/upgrade_to_x509_ssl.js b/jstests/ssl_x509/upgrade_to_x509_ssl.js
index 4fce4143725..4fe966685da 100644
--- a/jstests/ssl_x509/upgrade_to_x509_ssl.js
+++ b/jstests/ssl_x509/upgrade_to_x509_ssl.js
@@ -24,8 +24,7 @@ load("jstests/ssl/libs/ssl_helpers.js");
// ReplSetTest cannot be done automatically without the shell performing such authentication, so
// in this test we must make the choice explicitly, based on the global test options.
var wcMajorityJournalDefault;
-if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "ephemeralForTest" ||
- jsTestOptions().storageEngine == "inMemory") {
+if (jsTestOptions().noJournal || jsTestOptions().storageEngine == "inMemory") {
wcMajorityJournalDefault = false;
} else {
wcMajorityJournalDefault = true;
diff --git a/src/mongo/db/catalog/README.md b/src/mongo/db/catalog/README.md
index ddb5d479da2..b08f9d59be6 100644
--- a/src/mongo/db/catalog/README.md
+++ b/src/mongo/db/catalog/README.md
@@ -23,11 +23,9 @@ directory.
[**sorter/**]: https://github.com/mongodb/mongo/tree/master/src/mongo/db/sorter
[**timeseries/**]: https://github.com/mongodb/mongo/tree/master/src/mongo/db/timeseries
-For more information on the Storage Engine API, see the [storage/README][]. For additional
-specifics on the Ephemeral for Test storage engine, see the [ephemeral_for_test/README][].
+For more information on the Storage Engine API, see the [storage/README][].
[storage/README]: https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/README.md
-[ephemeral_for_test/README]: https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/ephemeral_for_test/README.md
# The Catalog
diff --git a/src/mongo/db/catalog/catalog_test_fixture.h b/src/mongo/db/catalog/catalog_test_fixture.h
index b71933fa317..b60b2de088f 100644
--- a/src/mongo/db/catalog/catalog_test_fixture.h
+++ b/src/mongo/db/catalog/catalog_test_fixture.h
@@ -43,10 +43,6 @@ namespace mongo {
*/
class CatalogTestFixture : public ServiceContextMongoDTest {
public:
- /**
- * Allows selection of storage engine to back the unit test, defaulting to ephemeralForTest
- * when not specified.
- */
explicit CatalogTestFixture(Options options = {})
: ServiceContextMongoDTest(std::move(options)) {}
diff --git a/src/mongo/db/catalog/collection_validation_test.cpp b/src/mongo/db/catalog/collection_validation_test.cpp
index 4ffff4f653b..e3b5a1a9742 100644
--- a/src/mongo/db/catalog/collection_validation_test.cpp
+++ b/src/mongo/db/catalog/collection_validation_test.cpp
@@ -204,7 +204,6 @@ int setUpInvalidData(OperationContext* opCtx) {
// Verify that calling validate() on an empty collection with different validation levels returns an
// OK status.
TEST_F(CollectionValidationTest, ValidateEmpty) {
- // Running on the ephemeralForTest storage engine.
foregroundValidate(operationContext(),
/*valid*/ true,
/*numRecords*/ 0,
@@ -212,7 +211,6 @@ TEST_F(CollectionValidationTest, ValidateEmpty) {
/*numErrors*/ 0);
}
TEST_F(CollectionValidationTest, BackgroundValidateEmpty) {
- // Running on the WT storage engine.
backgroundValidate(operationContext(),
/*valid*/ true,
/*numRecords*/ 0,
diff --git a/src/mongo/db/catalog/database_test.cpp b/src/mongo/db/catalog/database_test.cpp
index 59308be7233..e9da3e319ee 100644
--- a/src/mongo/db/catalog/database_test.cpp
+++ b/src/mongo/db/catalog/database_test.cpp
@@ -148,12 +148,6 @@ TEST_F(DatabaseTest, CreateCollectionThrowsExceptionWhenDatabaseIsInADropPending
WriteUnitOfWork wuow(_opCtx.get());
- // If createCollection() unexpectedly succeeds, we need to commit the collection
- // creation to
- // avoid leaving the ephemeralForTest storage engine in a bad state for subsequent
- // tests.
- ON_BLOCK_EXIT([&wuow] { wuow.commit(); });
-
ASSERT_THROWS_CODE_AND_WHAT(db->createCollection(_opCtx.get(), _nss),
AssertionException,
ErrorCodes::DatabaseDropPending,
diff --git a/src/mongo/db/commands/validate.cpp b/src/mongo/db/commands/validate.cpp
index d17529cdaec..5c1a4658cde 100644
--- a/src/mongo/db/commands/validate.cpp
+++ b/src/mongo/db/commands/validate.cpp
@@ -124,15 +124,6 @@ public:
const NamespaceString nss(CommandHelpers::parseNsCollectionRequired(dbname, cmdObj));
bool background = cmdObj["background"].trueValue();
- // Background validation is not supported on the ephemeralForTest storage engine due to its
- // lack of support for timestamps. Switch the mode to foreground validation instead.
- if (background && storageGlobalParams.engine == "ephemeralForTest") {
- LOGV2(4775400,
- "ephemeralForTest does not support background validation, switching to "
- "foreground validation");
- background = false;
- }
-
const bool fullValidate = cmdObj["full"].trueValue();
if (background && fullValidate) {
uasserted(ErrorCodes::InvalidOptions,
diff --git a/src/mongo/db/mongod_options.cpp b/src/mongo/db/mongod_options.cpp
index 6e3772f4083..9ef47d3fcde 100644
--- a/src/mongo/db/mongod_options.cpp
+++ b/src/mongo/db/mongod_options.cpp
@@ -547,9 +547,7 @@ Status storeMongodOptions(const moe::Environment& params) {
serverGlobalParams.enableMajorityReadConcern = true;
- if (storageGlobalParams.engineSetByUser &&
- (storageGlobalParams.engine == "ephemeralForTest" ||
- storageGlobalParams.engine == "devnull")) {
+ if (storageGlobalParams.engineSetByUser && (storageGlobalParams.engine == "devnull")) {
LOGV2(5324701,
"Test storage engine does not support enableMajorityReadConcern=true, forcibly "
"setting to false",
diff --git a/src/mongo/db/repl/oplog_test.cpp b/src/mongo/db/repl/oplog_test.cpp
index a7f1cc0eeb5..445656974ae 100644
--- a/src/mongo/db/repl/oplog_test.cpp
+++ b/src/mongo/db/repl/oplog_test.cpp
@@ -214,10 +214,6 @@ OpTime _logOpNoopWithMsg(OperationContext* opCtx,
Mutex* mtx,
OpTimeNamespaceStringMap* opTimeNssMap,
const NamespaceString& nss) {
- stdx::lock_guard<Latch> lock(*mtx);
-
- // logOp() must be called while holding lock because ephemeralForTest storage engine does not
- // support concurrent updates to its internal state.
MutableOplogEntry oplogEntry;
oplogEntry.setOpType(repl::OpTypeEnum::kNoop);
oplogEntry.setNss(nss);
@@ -226,6 +222,7 @@ OpTime _logOpNoopWithMsg(OperationContext* opCtx,
auto opTime = logOp(opCtx, &oplogEntry);
ASSERT_FALSE(opTime.isNull());
+ stdx::lock_guard<Latch> lock(*mtx);
ASSERT(opTimeNssMap->find(opTime) == opTimeNssMap->end())
<< "Unable to add namespace " << nss << " to map - map contains duplicate entry for optime "
<< opTime;
diff --git a/src/mongo/db/repl/replication_recovery_test.cpp b/src/mongo/db/repl/replication_recovery_test.cpp
index fa01fb5ebb0..1f44e5a4960 100644
--- a/src/mongo/db/repl/replication_recovery_test.cpp
+++ b/src/mongo/db/repl/replication_recovery_test.cpp
@@ -175,17 +175,6 @@ private:
void setUp() override {
ServiceContextMongoDTest::setUp();
- // Replaying prepared transactions requires 'enableMajorityReadConcern' to be set to true.
- // This test uses ephemeralForTest under the hood and is ran in standalone mode. Given that,
- // to satisfy the tests requirements, we forcefully set 'enableMajorityReadConcern' to true
- // for these tests.
- //
- // Switching the storage engine to use WiredTiger comes with its own complications.
- // 1. Transaction prepare is not supported with logged tables in debug builds.
- // 2. Transactions cannot be assigned a log record if WT_CONN_LOG_DEBUG mode is not enabled.
- _stashedEnableMajorityReadConcern =
- std::exchange(serverGlobalParams.enableMajorityReadConcern, true);
-
auto service = getServiceContext();
StorageInterface::set(service, std::make_unique<StorageInterfaceRecovery>());
_storageInterface = static_cast<StorageInterfaceRecovery*>(StorageInterface::get(service));
@@ -219,8 +208,6 @@ private:
_opCtx.reset(nullptr);
_consistencyMarkers.reset();
- serverGlobalParams.enableMajorityReadConcern = _stashedEnableMajorityReadConcern;
-
ServiceContextMongoDTest::tearDown();
gTakeUnstableCheckpointOnShutdown = false;
}
@@ -232,7 +219,6 @@ private:
ServiceContext::UniqueOperationContext _opCtx;
StorageInterfaceRecovery* _storageInterface = nullptr;
std::unique_ptr<ReplicationConsistencyMarkersMock> _consistencyMarkers;
- bool _stashedEnableMajorityReadConcern = false;
};
/**
diff --git a/src/mongo/db/repl/rollback_test_fixture.h b/src/mongo/db/repl/rollback_test_fixture.h
index 9bb4103b656..6388b1f90b4 100644
--- a/src/mongo/db/repl/rollback_test_fixture.h
+++ b/src/mongo/db/repl/rollback_test_fixture.h
@@ -48,13 +48,6 @@
namespace mongo {
namespace repl {
-/**
- * Test fixture for both 3.4 and 3.6 rollback unit tests.
- * The fixture makes available to tests:
- * - an "ephemeralForTest" storage engine for checking results of the rollback algorithm at the
- * storage layer. The storage engine is initialized as part of the ServiceContextForMongoD test
- * fixture.
- */
class RollbackTest : public ServiceContextMongoDTest {
public:
explicit RollbackTest(Options options = {}) : ServiceContextMongoDTest(std::move(options)) {}
diff --git a/src/mongo/db/s/shard_server_test_fixture.h b/src/mongo/db/s/shard_server_test_fixture.h
index a92316ed1f9..bd39a90fa4f 100644
--- a/src/mongo/db/s/shard_server_test_fixture.h
+++ b/src/mongo/db/s/shard_server_test_fixture.h
@@ -35,8 +35,8 @@ namespace mongo {
/**
* Test fixture for shard components, as opposed to config or mongos components. Provides a mock
- * network and ephemeral storage engine via ShardingMongodTestFixture. Additionally sets up mock
- * dist lock catalog and manager with a real catalog client.
+ * network via ShardingMongodTestFixture. Additionally sets up mock dist lock catalog and manager
+ * with a real catalog client.
*/
class ShardServerTestFixture : public ShardingMongodTestFixture {
protected:
diff --git a/src/mongo/db/service_context_d_test_fixture.cpp b/src/mongo/db/service_context_d_test_fixture.cpp
index 36156f06ebd..dd8e182f665 100644
--- a/src/mongo/db/service_context_d_test_fixture.cpp
+++ b/src/mongo/db/service_context_d_test_fixture.cpp
@@ -77,9 +77,8 @@ ServiceContextMongoDTest::ServiceContextMongoDTest(Options options)
std::exchange(storageGlobalParams.repair, (options._repair == RepairAction::kRepair));
_stashedServerParams.enableMajorityReadConcern = serverGlobalParams.enableMajorityReadConcern;
- if (storageGlobalParams.engine == "ephemeralForTest" ||
- storageGlobalParams.engine == "devnull") {
- // The ephemeralForTest and devnull storage engines do not support majority read concern.
+ if (storageGlobalParams.engine == "devnull") {
+ // The devnull storage engine does not support majority read concern.
LOGV2(4939201,
"Disabling majority read concern as it isn't supported by the storage engine",
"storageEngine"_attr = storageGlobalParams.engine);
diff --git a/src/mongo/db/service_context_d_test_fixture.h b/src/mongo/db/service_context_d_test_fixture.h
index 7f84b771d7a..24d869d719e 100644
--- a/src/mongo/db/service_context_d_test_fixture.h
+++ b/src/mongo/db/service_context_d_test_fixture.h
@@ -36,9 +36,6 @@
namespace mongo {
-/**
- * Test fixture class for tests that use the "ephemeralForTest" storage engine.
- */
class ServiceContextMongoDTest : public virtual ServiceContextTest {
public:
constexpr static StorageEngineInitFlags kDefaultStorageEngineInitFlags =
diff --git a/src/mongo/db/startup_warnings_mongod.cpp b/src/mongo/db/startup_warnings_mongod.cpp
index dcc90c3dfc2..9f9930ef342 100644
--- a/src/mongo/db/startup_warnings_mongod.cpp
+++ b/src/mongo/db/startup_warnings_mongod.cpp
@@ -376,13 +376,6 @@ void logMongodStartupWarnings(const StorageGlobalParams& storageParams,
#endif // #ifdef _WIN32
- if (storageParams.engine == "ephemeralForTest") {
- LOGV2_OPTIONS(
- 22197,
- {logv2::LogTag::kStartupWarnings},
- "The ephemeralForTest storage engine is for testing only. Do not use in production");
- }
-
if (storageParams.restore) {
LOGV2_OPTIONS(
6260401,
diff --git a/src/mongo/db/storage/flow_control_test.cpp b/src/mongo/db/storage/flow_control_test.cpp
index 2a9688731a8..faa21a4463c 100644
--- a/src/mongo/db/storage/flow_control_test.cpp
+++ b/src/mongo/db/storage/flow_control_test.cpp
@@ -48,13 +48,6 @@ public:
void setUp() {
ServiceContextMongoDTest::setUp();
- // Flow control requires 'enableMajorityReadConcern' to be set to true to run properly.
- // This test uses ephemeralForTest under the hood and is ran in standalone mode. Given that,
- // to satisfy the tests requirements, we forcefully set 'enableMajorityReadConcern' to true
- // for these tests.
- _stashedEnableMajorityReadConcern =
- std::exchange(serverGlobalParams.enableMajorityReadConcern, true);
-
auto replCoord = std::make_unique<repl::ReplicationCoordinatorMock>(getServiceContext());
auto replCoordPtr = replCoord.get();
replCoordMock = replCoordPtr;
@@ -73,17 +66,12 @@ public:
void tearDown() {
ServiceContextMongoDTest::tearDown();
-
- serverGlobalParams.enableMajorityReadConcern = _stashedEnableMajorityReadConcern;
}
std::unique_ptr<FlowControl> flowControl;
repl::ReplicationCoordinatorMock* replCoordMock;
ServiceContext::UniqueClient client;
ServiceContext::UniqueOperationContext opCtx;
-
-private:
- bool _stashedEnableMajorityReadConcern;
};
TEST_F(FlowControlTest, AddingSamples) {
diff --git a/src/mongo/db/storage/storage_engine_init.cpp b/src/mongo/db/storage/storage_engine_init.cpp
index eb6f1e7dc40..054437892a3 100644
--- a/src/mongo/db/storage/storage_engine_init.cpp
+++ b/src/mongo/db/storage/storage_engine_init.cpp
@@ -150,8 +150,7 @@ StorageEngine::LastShutdownState initializeStorageEngine(OperationContext* opCtx
}
// This should be set once during startup.
- if (storageGlobalParams.engine != "ephemeralForTest" &&
- (initFlags & StorageEngineInitFlags::kForRestart) == StorageEngineInitFlags{}) {
+ if ((initFlags & StorageEngineInitFlags::kForRestart) == StorageEngineInitFlags{}) {
auto readTransactions = gConcurrentReadTransactions.load();
static constexpr auto DEFAULT_TICKETS_VALUE = 128;
readTransactions = readTransactions == 0 ? DEFAULT_TICKETS_VALUE : readTransactions;
diff --git a/src/mongo/dbtests/dbhelper_tests.cpp b/src/mongo/dbtests/dbhelper_tests.cpp
index 5dbc2f05ca4..eaf5b5d5b10 100644
--- a/src/mongo/dbtests/dbhelper_tests.cpp
+++ b/src/mongo/dbtests/dbhelper_tests.cpp
@@ -101,13 +101,6 @@ public:
void run() {
auto serviceContext = getGlobalServiceContext();
- // This test is designed for storage engines that detect write conflicts when they attempt
- // to write to a record. ephemeralForTest, however, only detects write conflicts when a
- // WriteUnitOfWork commits.
- if (storageGlobalParams.engine == "ephemeralForTest") {
- return;
- }
-
repl::ReplSettings replSettings;
replSettings.setOplogSizeBytes(10 * 1024 * 1024);
replSettings.setReplSetString("rs");
diff --git a/src/mongo/dbtests/query_stage_batched_delete.cpp b/src/mongo/dbtests/query_stage_batched_delete.cpp
index c8c625974f0..2e7dd507de4 100644
--- a/src/mongo/dbtests/query_stage_batched_delete.cpp
+++ b/src/mongo/dbtests/query_stage_batched_delete.cpp
@@ -319,11 +319,6 @@ TEST_F(QueryStageBatchedDeleteTest, BatchedDeleteStagedDocIsDeleted) {
// WriteConflict, yields, and then deletes the batch using a more recent snapshot that accounts for
// the concurrent data changes.
TEST_F(QueryStageBatchedDeleteTest, BatchedDeleteStagedDocIsDeletedWriteConflict) {
- if (storageGlobalParams.engine == "ephemeralForTest") {
- // TODO SERVER-64778 Investigate how to enable for the ephemeralForTest storage engine.
- return;
- }
-
auto serviceContext = getGlobalServiceContext();
// Issue the batched delete through different client than the default _client test member.
diff --git a/src/mongo/dbtests/validate_tests.cpp b/src/mongo/dbtests/validate_tests.cpp
index ceedaccb3ee..d86df4b11d4 100644
--- a/src/mongo/dbtests/validate_tests.cpp
+++ b/src/mongo/dbtests/validate_tests.cpp
@@ -87,8 +87,6 @@ public:
explicit ValidateBase(bool full, bool background, bool clustered)
: _full(full), _background(background), _nss(_ns), _autoDb(nullptr), _db(nullptr) {
- _supportsBackgroundValidation = storageGlobalParams.engine != "ephemeralForTest";
-
CollectionOptions options;
if (clustered) {
options.clusteredIndex = clustered_util::makeCanonicalClusteredInfoForLegacyFormat();
@@ -212,7 +210,6 @@ protected:
const NamespaceString _nss;
unique_ptr<AutoGetDb> _autoDb;
Database* _db;
- bool _supportsBackgroundValidation;
};
template <bool full, bool background>
@@ -221,7 +218,7 @@ public:
ValidateIdIndexCount() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -279,7 +276,7 @@ class ValidateSecondaryIndexCount : public ValidateBase {
public:
ValidateSecondaryIndexCount() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -345,7 +342,7 @@ class ValidateSecondaryIndex : public ValidateBase {
public:
ValidateSecondaryIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -403,7 +400,7 @@ public:
ValidateIdIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -478,7 +475,7 @@ public:
ValidateMultiKeyIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -559,7 +556,7 @@ public:
ValidateSparseIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -618,7 +615,7 @@ public:
ValidatePartialIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -683,7 +680,7 @@ public:
ValidatePartialIndexOnCollectionWithNonIndexableFields() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -742,7 +739,7 @@ public:
ValidateCompoundIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -821,7 +818,7 @@ public:
ValidateIndexEntry() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -940,7 +937,7 @@ public:
ValidateWildCardIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -1060,7 +1057,7 @@ public:
ValidateWildCardIndexWithProjection() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -1155,7 +1152,7 @@ public:
ValidateMissingAndExtraIndexEntryResults() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -1246,7 +1243,7 @@ public:
ValidateMissingIndexEntryResults() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -1364,7 +1361,7 @@ public:
ValidateExtraIndexEntryResults() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -3080,7 +3077,7 @@ public:
ValidateDuplicateKeysUniqueIndex() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -3269,7 +3266,7 @@ public:
ValidateInvalidBSONResults() : ValidateBase(full, background) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -4074,7 +4071,7 @@ public:
: ValidateBase(/*full=*/false, background, /*clustered=*/true) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -4134,7 +4131,7 @@ public:
: ValidateBase(/*full=*/false, background, /*clustered=*/true) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -4229,7 +4226,7 @@ public:
: ValidateBase(/*full=*/false, /*background=*/false, /*clustered=*/true) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
@@ -4366,7 +4363,7 @@ public:
_withSecondaryIndex(withSecondaryIndex) {}
void run() {
- if (_background && !_supportsBackgroundValidation) {
+ if (_background) {
return;
}
diff --git a/src/mongo/shell/replsettest.js b/src/mongo/shell/replsettest.js
index 120d1b60890..6a51b72fc59 100644
--- a/src/mongo/shell/replsettest.js
+++ b/src/mongo/shell/replsettest.js
@@ -236,8 +236,7 @@ var ReplSetTest = function(opts) {
if (!serverStatus.storageEngine.persistent) {
return true;
}
- } else if (serverStatus.storageEngine.name == 'inMemory' ||
- serverStatus.storageEngine.name == 'ephemeralForTest') {
+ } else if (serverStatus.storageEngine.name == 'inMemory') {
return true;
}
var cmdLineOpts = assert.commandWorked(conn.adminCommand({getCmdLineOpts: 1}));