summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Swanson <charlie.swanson@mongodb.com>2015-11-23 15:19:14 -0500
committerCharlie Swanson <charlie.swanson@mongodb.com>2015-11-24 13:59:39 -0500
commit9e0f3d63b1f7a23080f0465e2c59a821e1b78971 (patch)
tree1dbd2434c9a967ac870e34b22ab4ec4e1e46aa09
parenteb23ba1f57b17cfbe44896a735ab74a0bdee2f55 (diff)
downloadmongo-9e0f3d63b1f7a23080f0465e2c59a821e1b78971.tar.gz
SERVER-21384 Enable noPassthrough suites for in-memory storage engines
-rw-r--r--etc/evergreen.yml6
-rw-r--r--jstests/noPassthrough/backup_restore.js4
-rw-r--r--jstests/noPassthrough/directoryperdb.js9
-rw-r--r--jstests/noPassthrough/lock_stats.js5
-rw-r--r--jstests/noPassthrough/minvalid2.js7
-rw-r--r--jstests/noPassthrough/sync_write.js3
-rw-r--r--jstests/noPassthroughWithMongod/capped_truncate.js3
-rw-r--r--jstests/noPassthroughWithMongod/index_no_retry.js5
-rw-r--r--jstests/noPassthroughWithMongod/index_retry.js5
-rw-r--r--jstests/noPassthroughWithMongod/temp_namespace.js5
10 files changed, 47 insertions, 5 deletions
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 5f63d791a66..8d601933238 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -4904,6 +4904,8 @@ buildvariants:
- name: jstestfuzz_replication_WT
- name: jstestfuzz_sharded_WT
- name: bulk_gle_passthrough
+ - name: noPassthrough
+ - name: noPassthroughWithMongod
- name: parallel
- name: parallel_compatibility
- name: concurrency
@@ -4930,7 +4932,7 @@ buildvariants:
expansions:
gitvars: LD_LIBRARY_PATH=/opt/openssl/lib64 #needed to workaround the old openSSL on rhel55 builders.
gorootvars: GOROOT=/opt/go PATH="/opt/go/bin:$PATH"
- test_flags: --continueOnFailure --storageEngine=ephemeralForTest --excludeWithAnyTags=requires_persistence,requires_fsync,SERVER-21420
+ test_flags: --continueOnFailure --storageEngine=ephemeralForTest --excludeWithAnyTags=requires_persistence,requires_fsync,SERVER-21420,SERVER-21658
compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --dbg=off --opt=on CC=/opt/mongodbtoolchain/bin/gcc CXX=/opt/mongodbtoolchain/bin/g++
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
tasks:
@@ -4950,6 +4952,8 @@ buildvariants:
- name: jstestfuzz_replication_WT
- name: jstestfuzz_sharded_WT
- name: bulk_gle_passthrough
+ - name: noPassthrough
+ - name: noPassthroughWithMongod
- name: parallel
- name: parallel_compatibility
- name: concurrency
diff --git a/jstests/noPassthrough/backup_restore.js b/jstests/noPassthrough/backup_restore.js
index a8d8824a94c..5ad1939b16b 100644
--- a/jstests/noPassthrough/backup_restore.js
+++ b/jstests/noPassthrough/backup_restore.js
@@ -8,6 +8,10 @@
* - fsyncUnlock (or start) Secondary
* - Start mongod as hidden secondary
* - Wait until new hidden node becomes secondary
+ *
+ * Some methods for backup used in this test checkpoint the files in the dbpath. This technique will
+ * not work for ephemeral storage engines, as they do not store any data in the dbpath.
+ * @tags: [requires_persistence]
*/
(function() {
diff --git a/jstests/noPassthrough/directoryperdb.js b/jstests/noPassthrough/directoryperdb.js
index 2421dc23172..feabcb47a07 100644
--- a/jstests/noPassthrough/directoryperdb.js
+++ b/jstests/noPassthrough/directoryperdb.js
@@ -1,3 +1,12 @@
+/**
+ * Tests that a mongod started with --directoryperdb will write data for database x into a direcotry
+ * named x inside the dbpath.
+ *
+ * This test does not make sense for in-memory storage engines, since they will not produce any data
+ * files.
+ * @tags: [requires_persistence]
+ */
+
(function() {
'use strict';
diff --git a/jstests/noPassthrough/lock_stats.js b/jstests/noPassthrough/lock_stats.js
index 2a61bd02eb5..2445b333435 100644
--- a/jstests/noPassthrough/lock_stats.js
+++ b/jstests/noPassthrough/lock_stats.js
@@ -1,4 +1,7 @@
-// SERVER-21305: reported lock times are way too high
+// SERVER-21305: reported lock times are way too high.
+//
+// This test uses the fsync command to induce locking.
+// @tags: [requires_fsync]
(function() {
'use strict';
diff --git a/jstests/noPassthrough/minvalid2.js b/jstests/noPassthrough/minvalid2.js
index c6df4d001c0..d34c93120d4 100644
--- a/jstests/noPassthrough/minvalid2.js
+++ b/jstests/noPassthrough/minvalid2.js
@@ -9,6 +9,13 @@
* 7. writes on former slave (now primary)
* 8. start up master
* 9. check master does not rollback
+ *
+ * If all data-bearing nodes in a replica set are using an ephemeral storage engine, the set will
+ * not be able to survive a scenario where all data-bearing nodes are down simultaneously. In such a
+ * scenario, none of the members will have any data, and upon restart will each look for a member to
+ * initial sync from, so no primary will be elected. This test induces such a scenario, so cannot be
+ * run on ephemeral storage engines.
+ * @tags: [requires_persistence]
*/
print("1. make 3-member set w/arb (2)");
diff --git a/jstests/noPassthrough/sync_write.js b/jstests/noPassthrough/sync_write.js
index 893ff391080..b2f2fa24a45 100644
--- a/jstests/noPassthrough/sync_write.js
+++ b/jstests/noPassthrough/sync_write.js
@@ -1,5 +1,8 @@
/**
* SERVER-20617: Tests that journaled write operations survive a kill -9 of the mongod.
+ *
+ * This test requires persistence to ensure data survives a restart.
+ * @tags: [requires_persistence]
*/
(function() {
'use strict';
diff --git a/jstests/noPassthroughWithMongod/capped_truncate.js b/jstests/noPassthroughWithMongod/capped_truncate.js
index b667d98f548..eb98a77abe2 100644
--- a/jstests/noPassthroughWithMongod/capped_truncate.js
+++ b/jstests/noPassthroughWithMongod/capped_truncate.js
@@ -3,6 +3,9 @@
* - indexed capped collections
* - nonexistent collections
* - non-capped collections
+ *
+ * This test fails with the ephemeralForTest storage engine.
+ * @tags: [SERVER-21658]
*/
(function() {
'use strict';
diff --git a/jstests/noPassthroughWithMongod/index_no_retry.js b/jstests/noPassthroughWithMongod/index_no_retry.js
index 7f7c39a235f..fd7f070736d 100644
--- a/jstests/noPassthroughWithMongod/index_no_retry.js
+++ b/jstests/noPassthroughWithMongod/index_no_retry.js
@@ -1,4 +1,7 @@
-// Check index rebuild is disabled with --noIndexBuildRetry when MongoDB is killed
+// Check index rebuild is disabled with --noIndexBuildRetry when MongoDB is killed.
+//
+// This test requires persistence beacuase it assumes data/indices will survive a restart.
+// @tags: [requires_persistence]
(function() {
'use strict';
var baseName = 'index_retry';
diff --git a/jstests/noPassthroughWithMongod/index_retry.js b/jstests/noPassthroughWithMongod/index_retry.js
index 806c334e151..e420edb1914 100644
--- a/jstests/noPassthroughWithMongod/index_retry.js
+++ b/jstests/noPassthroughWithMongod/index_retry.js
@@ -1,4 +1,7 @@
-// Check index rebuild when MongoDB is killed
+// Check index rebuild when MongoDB is killed.
+//
+// This test requires persistence beacuase it assumes data/indices will survive a restart.
+// @tags: [requires_persistence]
(function() {
'use strict';
var baseName = 'index_retry';
diff --git a/jstests/noPassthroughWithMongod/temp_namespace.js b/jstests/noPassthroughWithMongod/temp_namespace.js
index 108c5871c7a..d69fd135786 100644
--- a/jstests/noPassthroughWithMongod/temp_namespace.js
+++ b/jstests/noPassthroughWithMongod/temp_namespace.js
@@ -1,4 +1,7 @@
-// this is to make sure that temp collections get cleaned up on restart
+// this is to make sure that temp collections get cleaned up on restart.
+//
+// This test requires persistence beacuase it assumes data will survive a restart.
+// @tags: [requires_persistence]
testname = 'temp_namespace_sw'