diff options
author | Jack Mulrow <jack.mulrow@mongodb.com> | 2017-11-28 10:10:44 -0500 |
---|---|---|
committer | Jack Mulrow <jack.mulrow@mongodb.com> | 2017-12-07 14:36:15 -0500 |
commit | 00d92ece19c5c4057d21eb237a2f9905b196191d (patch) | |
tree | c8b512f732cb4a2b77f6d24eb41ee0da731dfd18 | |
parent | 332ae576ef6e24080c0f8e9755f1574bbb90fdab (diff) | |
download | mongo-00d92ece19c5c4057d21eb237a2f9905b196191d.tar.gz |
SERVER-31194 Add jscore tags for retryable_writes_jscore_stepdown_passthrough.yml suite
The actual suite will come in a follow-up commit.
325 files changed, 537 insertions, 91 deletions
diff --git a/jstests/core/agg_hint.js b/jstests/core/agg_hint.js index e578448d4d6..6a376a6c385 100644 --- a/jstests/core/agg_hint.js +++ b/jstests/core/agg_hint.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, does_not_support_stepdowns] // Confirms correct behavior for hinted aggregation execution. This includes tests for scenarios // where agg execution differs from query. It also includes confirmation that hint works for find diff --git a/jstests/core/aggregation_getmore_batchsize.js b/jstests/core/aggregation_getmore_batchsize.js index 9072afbc9b8..c0e12cfced3 100644 --- a/jstests/core/aggregation_getmore_batchsize.js +++ b/jstests/core/aggregation_getmore_batchsize.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // this is a simple test to make sure that batchSize gets propagated to the cursors returned // from the aggregate sell helper diff --git a/jstests/core/all3.js b/jstests/core/all3.js index ae1a9460089..37cb6c690b2 100644 --- a/jstests/core/all3.js +++ b/jstests/core/all3.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Check that $all matching null is consistent with $in - SERVER-3820 t = db.jstests_all3; diff --git a/jstests/core/apitest_db.js b/jstests/core/apitest_db.js index be90b9eb877..8d5d71b70be 100644 --- a/jstests/core/apitest_db.js +++ b/jstests/core/apitest_db.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + /** * Tests for the db object enhancement */ diff --git a/jstests/core/apply_ops1.js b/jstests/core/apply_ops1.js index 6dc551e766f..94a9bb22420 100644 --- a/jstests/core/apply_ops1.js +++ b/jstests/core/apply_ops1.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + (function() { "use strict"; diff --git a/jstests/core/apply_ops2.js b/jstests/core/apply_ops2.js index 4e99cee37ff..b46f119d4f7 100644 --- a/jstests/core/apply_ops2.js +++ b/jstests/core/apply_ops2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Test applyops upsert flag SERVER-7452 var t = db.apply_ops2; diff --git a/jstests/core/apply_ops_atomicity.js b/jstests/core/apply_ops_atomicity.js index e704815a889..ad494a2f7c1 100644 --- a/jstests/core/apply_ops_atomicity.js +++ b/jstests/core/apply_ops_atomicity.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // SERVER-23326: Make applyOps atomic for CRUD operations (function() { 'use strict'; diff --git a/jstests/core/apply_ops_dups.js b/jstests/core/apply_ops_dups.js index bdca02a605c..01e25cbe802 100644 --- a/jstests/core/apply_ops_dups.js +++ b/jstests/core/apply_ops_dups.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + (function() { "use strict"; var t = db.apply_ops_dups; diff --git a/jstests/core/apply_ops_index_collation.js b/jstests/core/apply_ops_index_collation.js index 6ac326c6851..f05080bc819 100644 --- a/jstests/core/apply_ops_index_collation.js +++ b/jstests/core/apply_ops_index_collation.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] // Tests creation of indexes using applyOps for collections with a non-simple default collation. // Indexes created through applyOps should be built exactly according to their index spec, without diff --git a/jstests/core/array_match2.js b/jstests/core/array_match2.js index 44cbfe33941..3e0dde8f5f5 100644 --- a/jstests/core/array_match2.js +++ b/jstests/core/array_match2.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.jstests_array_match2; t.drop(); diff --git a/jstests/core/arrayfind4.js b/jstests/core/arrayfind4.js index a43a914b930..545f9e9acac 100644 --- a/jstests/core/arrayfind4.js +++ b/jstests/core/arrayfind4.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test query empty array SERVER-2258 t = db.jstests_arrayfind4; diff --git a/jstests/core/auth1.js b/jstests/core/auth1.js index 525785b74b7..d6b7bf152e6 100644 --- a/jstests/core/auth1.js +++ b/jstests/core/auth1.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + var mydb = db.getSiblingDB('auth1_db'); mydb.dropAllUsers(); diff --git a/jstests/core/auth_copydb.js b/jstests/core/auth_copydb.js index ae0e6888c01..176061b423e 100644 --- a/jstests/core/auth_copydb.js +++ b/jstests/core/auth_copydb.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + a = db.getSisterDB("copydb2-test-a"); b = db.getSisterDB("copydb2-test-b"); diff --git a/jstests/core/automation_setparameter.js b/jstests/core/automation_setparameter.js index d869baf4c97..d2bc41b676a 100644 --- a/jstests/core/automation_setparameter.js +++ b/jstests/core/automation_setparameter.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Tests that using setParameter to update the parameter 'automationServiceDescriptor' causes a // field with that name to be echoed back in isMaster. See SERVER-18399 for more details. diff --git a/jstests/core/basic1.js b/jstests/core/basic1.js index f4ca8a283d9..cc2917fb5a3 100644 --- a/jstests/core/basic1.js +++ b/jstests/core/basic1.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.getCollection("basic1"); t.drop(); diff --git a/jstests/core/basic2.js b/jstests/core/basic2.js index 50b3db323ce..7c68a3e4f3a 100644 --- a/jstests/core/basic2.js +++ b/jstests/core/basic2.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.getCollection("basic2"); t.drop(); diff --git a/jstests/core/batch_size.js b/jstests/core/batch_size.js index 3dfbe0face6..b715f936052 100644 --- a/jstests/core/batch_size.js +++ b/jstests/core/batch_size.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test subtleties of batchSize and limit. var t = db.jstests_batch_size; diff --git a/jstests/core/batch_write_collation_estsize.js b/jstests/core/batch_write_collation_estsize.js index 594517da9f9..819060ec37e 100644 --- a/jstests/core/batch_write_collation_estsize.js +++ b/jstests/core/batch_write_collation_estsize.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Tests that the update and delete batch write operations account for the size of the collation // specification in the write operation document. diff --git a/jstests/core/batch_write_command_delete.js b/jstests/core/batch_write_command_delete.js index 0a05749fae3..4e272571a34 100644 --- a/jstests/core/batch_write_command_delete.js +++ b/jstests/core/batch_write_command_delete.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // // Ensures that mongod respects the batch write protocols for delete diff --git a/jstests/core/batch_write_command_update.js b/jstests/core/batch_write_command_update.js index 7c9bf29fae5..8a37d77067e 100644 --- a/jstests/core/batch_write_command_update.js +++ b/jstests/core/batch_write_command_update.js @@ -1,10 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// MMap doesn't implement RecordStore::oplogStartHack so it uses the OplogStart stage instead when -// performing ts queries on the oplog during retry. This is considerable slower since it will -// have to perform table scans within an extent. -// @tags: [assumes_unsharded_collection, skip_in_retryable_writes_mmapv1_passthrough] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // // Ensures that mongod respects the batch write protocols for updates diff --git a/jstests/core/bulk_api_ordered.js b/jstests/core/bulk_api_ordered.js index 45450eee388..2957195065d 100644 --- a/jstests/core/bulk_api_ordered.js +++ b/jstests/core/bulk_api_ordered.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] var collectionName = "bulk_api_ordered"; var coll = db.getCollection(collectionName); diff --git a/jstests/core/bulk_api_unordered.js b/jstests/core/bulk_api_unordered.js index 2cbbeef5920..6db2a607a25 100644 --- a/jstests/core/bulk_api_unordered.js +++ b/jstests/core/bulk_api_unordered.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] var collectionName = "bulk_api_unordered"; var coll = db.getCollection(collectionName); diff --git a/jstests/core/bypass_doc_validation.js b/jstests/core/bypass_doc_validation.js index a627a1749c9..6a9bbde8ffc 100644 --- a/jstests/core/bypass_doc_validation.js +++ b/jstests/core/bypass_doc_validation.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_commands] + /** * Tests that various database commands respect the 'bypassDocumentValidation' flag: * diff --git a/jstests/core/capped6.js b/jstests/core/capped6.js index e94e7ea44e8..945567ee976 100644 --- a/jstests/core/capped6.js +++ b/jstests/core/capped6.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Test NamespaceDetails::cappedTruncateAfter via "captrunc" command (function() { var coll = db.capped6; diff --git a/jstests/core/capped_convertToCapped1.js b/jstests/core/capped_convertToCapped1.js index 269a33f89a5..d3f35a7fa4d 100644 --- a/jstests/core/capped_convertToCapped1.js +++ b/jstests/core/capped_convertToCapped1.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // test cloneCollectionAsCapped source = db.capped_convertToCapped1; diff --git a/jstests/core/capped_empty.js b/jstests/core/capped_empty.js index 63272a4e546..e43170405e3 100644 --- a/jstests/core/capped_empty.js +++ b/jstests/core/capped_empty.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_commands] t = db.capped_empty; t.drop(); diff --git a/jstests/core/check_shard_index.js b/jstests/core/check_shard_index.js index 6551699c65c..28a9027b72c 100644 --- a/jstests/core/check_shard_index.js +++ b/jstests/core/check_shard_index.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // ------------------------- // CHECKSHARDINGINDEX TEST UTILS // ------------------------- diff --git a/jstests/core/cleanup_orphaned.js b/jstests/core/cleanup_orphaned.js index 2ece4316fa2..344d603eb72 100644 --- a/jstests/core/cleanup_orphaned.js +++ b/jstests/core/cleanup_orphaned.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Test that cleanupOrphaned cannot be run on stand alone mongod. var res = db.adminCommand({cleanupOrphaned: 'unsharded.coll'}); assert(!res.ok, tojson(res)); diff --git a/jstests/core/clone_as_capped_nonexistant.js b/jstests/core/clone_as_capped_nonexistant.js index f9e68ee9648..a307f008ec3 100644 --- a/jstests/core/clone_as_capped_nonexistant.js +++ b/jstests/core/clone_as_capped_nonexistant.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + (function() { "use strict"; // This test ensures that CloneCollectionAsCapped()ing a nonexistent collection will not diff --git a/jstests/core/collation.js b/jstests/core/collation.js index 98da1ba8ebf..1a871d97c22 100644 --- a/jstests/core/collation.js +++ b/jstests/core/collation.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, does_not_support_stepdowns, +// requires_non_retryable_commands, requires_non_retryable_writes] // Integration tests for the collation feature. (function() { diff --git a/jstests/core/collation_convert_to_capped.js b/jstests/core/collation_convert_to_capped.js index db79288f51b..9366d6a0e03 100644 --- a/jstests/core/collation_convert_to_capped.js +++ b/jstests/core/collation_convert_to_capped.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Test that the collection created with the "convertToCapped" command inherits the default // collation of the corresponding collection. (function() { diff --git a/jstests/core/collation_plan_cache.js b/jstests/core/collation_plan_cache.js index 6cb938dbc36..b28747a88cf 100644 --- a/jstests/core/collation_plan_cache.js +++ b/jstests/core/collation_plan_cache.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Integration testing for the plan cache and index filter commands with collation. (function() { 'use strict'; diff --git a/jstests/core/collection_truncate.js b/jstests/core/collection_truncate.js index 08de3e8c1ed..c4e868046c8 100644 --- a/jstests/core/collection_truncate.js +++ b/jstests/core/collection_truncate.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // SERVER-15033 truncate on a regular collection var t = db.getCollection('collection_truncate'); diff --git a/jstests/core/collmod.js b/jstests/core/collmod.js index 8ed2ee503e4..60cf17ceb05 100644 --- a/jstests/core/collmod.js +++ b/jstests/core/collmod.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] // Basic js tests for the collMod command. // Test setting the usePowerOf2Sizes flag, and modifying TTL indexes. diff --git a/jstests/core/collmod_bad_spec.js b/jstests/core/collmod_bad_spec.js index 0402a248f30..a41e3c4f46e 100644 --- a/jstests/core/collmod_bad_spec.js +++ b/jstests/core/collmod_bad_spec.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] // This is a regression test for SERVER-21545. // diff --git a/jstests/core/collmod_without_uuid.js b/jstests/core/collmod_without_uuid.js index 87d65d398b2..43ecd9852d8 100644 --- a/jstests/core/collmod_without_uuid.js +++ b/jstests/core/collmod_without_uuid.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * SERVER-32125 Check that applyOps commands with collMod without UUID don't strip it */ diff --git a/jstests/core/commands_namespace_parsing.js b/jstests/core/commands_namespace_parsing.js index ea515df6ba7..51b68ff9eaf 100644 --- a/jstests/core/commands_namespace_parsing.js +++ b/jstests/core/commands_namespace_parsing.js @@ -1,7 +1,8 @@ // Cannot implicitly shard accessed collections because the error response from the shard about // using the empty string as the out collection name is converted to an error and no longer retains // the "code" property. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns, requires_getmore, +// requires_non_retryable_commands] // This file tests that commands namespace parsing rejects embedded null bytes. // Note that for each command, a properly formatted command object must be passed to the helper diff --git a/jstests/core/commands_that_do_not_write_do_not_accept_wc.js b/jstests/core/commands_that_do_not_write_do_not_accept_wc.js index 4b882c95fc0..a87a38d8ae4 100644 --- a/jstests/core/commands_that_do_not_write_do_not_accept_wc.js +++ b/jstests/core/commands_that_do_not_write_do_not_accept_wc.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + /** * This file tests commands that do not support write concern. It passes both valid and invalid * writeConcern fields to commands and expects the commands to fail with a writeConcernNotSupported diff --git a/jstests/core/connection_status.js b/jstests/core/connection_status.js index 47aab3f0f43..c769aabf284 100644 --- a/jstests/core/connection_status.js +++ b/jstests/core/connection_status.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Tests the connectionStatus command (function() { "use strict"; diff --git a/jstests/core/constructors.js b/jstests/core/constructors.js index b1a6b144896..52ce8f04065 100644 --- a/jstests/core/constructors.js +++ b/jstests/core/constructors.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_commands] + // Tests to see what validity checks are done for 10gen specific object construction // Takes a list of constructors and returns a new list with an extra entry for each constructor with diff --git a/jstests/core/convert_to_capped_nonexistant.js b/jstests/core/convert_to_capped_nonexistant.js index 08996087da7..6f878a3e372 100644 --- a/jstests/core/convert_to_capped_nonexistant.js +++ b/jstests/core/convert_to_capped_nonexistant.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // This test ensures that ConvertToCapped()ing a nonexistent collection will not cause the server to // abort (SERVER-13750) diff --git a/jstests/core/copydatabase_no_id_index.js b/jstests/core/copydatabase_no_id_index.js index 2cd1225d78b..0776626f643 100644 --- a/jstests/core/copydatabase_no_id_index.js +++ b/jstests/core/copydatabase_no_id_index.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * This test creates a collection with autoIndexId: false. It then copies the database and expects * the new collection to not have an _id index either. diff --git a/jstests/core/copydb.js b/jstests/core/copydb.js index 4494bcc4716..5939f62d975 100644 --- a/jstests/core/copydb.js +++ b/jstests/core/copydb.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Basic tests for the copydb command. These only test copying from the same server; these do not // test the ability of copydb to pull a database from another server (with or without auth). diff --git a/jstests/core/count10.js b/jstests/core/count10.js index 2578411b594..5e3bf10a8af 100644 --- a/jstests/core/count10.js +++ b/jstests/core/count10.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test that interrupting a count returns an error code. t = db.count10; diff --git a/jstests/core/count2.js b/jstests/core/count2.js index 0999a27e9ff..356e03ab6dd 100644 --- a/jstests/core/count2.js +++ b/jstests/core/count2.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + t = db.count2; t.drop(); diff --git a/jstests/core/count7.js b/jstests/core/count7.js index 8a3255d712a..95417e241de 100644 --- a/jstests/core/count7.js +++ b/jstests/core/count7.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Check normal count matching and deduping. t = db.jstests_count7; diff --git a/jstests/core/count_plan_summary.js b/jstests/core/count_plan_summary.js index 0220eb435f2..d252c00919a 100644 --- a/jstests/core/count_plan_summary.js +++ b/jstests/core/count_plan_summary.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test that the plan summary string appears in db.currentOp() for // count operations. SERVER-14064. diff --git a/jstests/core/coveredIndex4.js b/jstests/core/coveredIndex4.js index e7c6cc93a76..1f03c387f3b 100644 --- a/jstests/core/coveredIndex4.js +++ b/jstests/core/coveredIndex4.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test covered index projection with $or clause, specifically in getMore // SERVER-4980 diff --git a/jstests/core/currentop_predicate.js b/jstests/core/currentop_predicate.js index efc1f921e6e..049d7d3ab30 100644 --- a/jstests/core/currentop_predicate.js +++ b/jstests/core/currentop_predicate.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Tests the use of a match predicate with the currentOp command. (function() { // Test a predicate that matches the currentOp operation we are running. diff --git a/jstests/core/cursor1.js b/jstests/core/cursor1.js index c98bec5044c..b6b577e2153 100644 --- a/jstests/core/cursor1.js +++ b/jstests/core/cursor1.js @@ -1,3 +1,4 @@ +// @tags: [requires_getmore] t = db.cursor1; t.drop(); diff --git a/jstests/core/cursora.js b/jstests/core/cursora.js index 1ee0a6d3e69..ec9d39442dd 100644 --- a/jstests/core/cursora.js +++ b/jstests/core/cursora.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore, requires_non_retryable_writes] + t = db.cursora; function run(n, atomic) { diff --git a/jstests/core/delx.js b/jstests/core/delx.js index 004b54ee6ca..f8a0b68f380 100644 --- a/jstests/core/delx.js +++ b/jstests/core/delx.js @@ -1,3 +1,4 @@ +// @tags: [requires_getmore, requires_non_retryable_writes] a = db.getSisterDB("delxa"); b = db.getSisterDB("delxb"); diff --git a/jstests/core/distinct3.js b/jstests/core/distinct3.js index 6ab21599f97..94a289c8fa6 100644 --- a/jstests/core/distinct3.js +++ b/jstests/core/distinct3.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Yield and delete test case for query optimizer cursor. SERVER-4401 t = db.jstests_distinct3; diff --git a/jstests/core/doc_validation.js b/jstests/core/doc_validation.js index 9d33626ae1e..1addda2168c 100644 --- a/jstests/core/doc_validation.js +++ b/jstests/core/doc_validation.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands, +// requires_non_retryable_writes] // Test basic inserts and updates with document validation. (function() { diff --git a/jstests/core/doc_validation_invalid_validators.js b/jstests/core/doc_validation_invalid_validators.js index 0a923bd8cb8..102f2c2afe3 100644 --- a/jstests/core/doc_validation_invalid_validators.js +++ b/jstests/core/doc_validation_invalid_validators.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] // Verify invalid validator statements won't work and that we // can't create validated collections on restricted databases. diff --git a/jstests/core/doc_validation_options.js b/jstests/core/doc_validation_options.js index 8e4f34c3602..e9ba64d8029 100644 --- a/jstests/core/doc_validation_options.js +++ b/jstests/core/doc_validation_options.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] (function() { "use strict"; diff --git a/jstests/core/drop3.js b/jstests/core/drop3.js index a3807faab12..e06cad28e73 100644 --- a/jstests/core/drop3.js +++ b/jstests/core/drop3.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + t = db.jstests_drop3; sub = t.sub; diff --git a/jstests/core/dropdb_race.js b/jstests/core/dropdb_race.js index bd5e7e5ddba..9366df68a9b 100644 --- a/jstests/core/dropdb_race.js +++ b/jstests/core/dropdb_race.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // test dropping a db with simultaneous commits m = db.getMongo(); diff --git a/jstests/core/elemMatchProjection.js b/jstests/core/elemMatchProjection.js index 7114959b6ca..ec623793ba7 100644 --- a/jstests/core/elemMatchProjection.js +++ b/jstests/core/elemMatchProjection.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Tests for $elemMatch projections and $ positional operator projection. (function() { "use strict"; diff --git a/jstests/core/ensure_sorted.js b/jstests/core/ensure_sorted.js index 13c48708aff..c2d29728c59 100644 --- a/jstests/core/ensure_sorted.js +++ b/jstests/core/ensure_sorted.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_getmore] // SERVER-17011 Tests whether queries which specify sort and batch size can generate results out of // order due to the ntoreturn hack. The EnsureSortedStage should solve this problem. diff --git a/jstests/core/error2.js b/jstests/core/error2.js index 6f0b95bc17e..7c26f5688d7 100644 --- a/jstests/core/error2.js +++ b/jstests/core/error2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Test that client gets stack trace on failed invoke f = db.jstests_error2; diff --git a/jstests/core/eval0.js b/jstests/core/eval0.js index 5802f2597cb..4592f3c9d60 100644 --- a/jstests/core/eval0.js +++ b/jstests/core/eval0.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + assert.writeOK(db.evalprep.insert({}), "db must exist for eval to succeed"); db.evalprep.drop(); assert.eq(17, diff --git a/jstests/core/eval1.js b/jstests/core/eval1.js index 237bd4bb020..a18b6176c5c 100644 --- a/jstests/core/eval1.js +++ b/jstests/core/eval1.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.eval1; t.drop(); diff --git a/jstests/core/eval3.js b/jstests/core/eval3.js index 8cdd3723977..eacb6d70203 100644 --- a/jstests/core/eval3.js +++ b/jstests/core/eval3.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.eval3; t.drop(); diff --git a/jstests/core/eval4.js b/jstests/core/eval4.js index b67aa4b4445..b7d19a4ac3b 100644 --- a/jstests/core/eval4.js +++ b/jstests/core/eval4.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands, +// requires_non_retryable_writes] t = db.eval4; t.drop(); diff --git a/jstests/core/eval5.js b/jstests/core/eval5.js index 3b367f00fe3..fc495d86403 100644 --- a/jstests/core/eval5.js +++ b/jstests/core/eval5.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.eval5; t.drop(); diff --git a/jstests/core/eval6.js b/jstests/core/eval6.js index fdb72d96a9a..751bdbf9e34 100644 --- a/jstests/core/eval6.js +++ b/jstests/core/eval6.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.eval6; t.drop(); diff --git a/jstests/core/eval7.js b/jstests/core/eval7.js index 80197fcdde6..32c37139e53 100644 --- a/jstests/core/eval7.js +++ b/jstests/core/eval7.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + assert.writeOK(db.evalprep.insert({}), "db must exist for eval to succeed"); db.evalprep.drop(); diff --git a/jstests/core/eval9.js b/jstests/core/eval9.js index 3338a34fc60..2f015b46485 100644 --- a/jstests/core/eval9.js +++ b/jstests/core/eval9.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] assert.writeOK(db.evalprep.insert({}), "db must exist for eval to succeed"); db.evalprep.drop(); diff --git a/jstests/core/eval_mr.js b/jstests/core/eval_mr.js index 04de66affb0..9c3ac3c7efe 100644 --- a/jstests/core/eval_mr.js +++ b/jstests/core/eval_mr.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: Cannot output to a // non-sharded collection because sharded collection exists already. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns, +// requires_non_retryable_commands] // Test that the eval command can't be used to invoke the mapReduce command. SERVER-17889. (function() { diff --git a/jstests/core/eval_nolock.js b/jstests/core/eval_nolock.js index 979a6ddc6dc..8ae7f41f815 100644 --- a/jstests/core/eval_nolock.js +++ b/jstests/core/eval_nolock.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.eval_nolock; t.drop(); diff --git a/jstests/core/evala.js b/jstests/core/evala.js index 8ee0a3bc05f..00c2b548636 100644 --- a/jstests/core/evala.js +++ b/jstests/core/evala.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.evala; t.drop(); diff --git a/jstests/core/evalb.js b/jstests/core/evalb.js index 3391c4cc4f2..a3d9251af57 100644 --- a/jstests/core/evalb.js +++ b/jstests/core/evalb.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_commands] + // Check the return value of a db.eval function running a database query, and ensure the function's // contents are logged in the profile log. diff --git a/jstests/core/evald.js b/jstests/core/evald.js index 27df8c08973..b4317c4a24a 100644 --- a/jstests/core/evald.js +++ b/jstests/core/evald.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns, +// requires_non_retryable_commands] t = db.jstests_evald; t.drop(); diff --git a/jstests/core/evale.js b/jstests/core/evale.js index 59dce866935..8e20ee5177e 100644 --- a/jstests/core/evale.js +++ b/jstests/core/evale.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.jstests_evale; t.drop(); diff --git a/jstests/core/evalg.js b/jstests/core/evalg.js index 0ee0e230264..dcb5b98f000 100644 --- a/jstests/core/evalg.js +++ b/jstests/core/evalg.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] // SERVER-17499: Test behavior of getMore on aggregation cursor under eval command. db.evalg.drop(); diff --git a/jstests/core/evalh.js b/jstests/core/evalh.js index 11e672f6bf4..3881c92be80 100644 --- a/jstests/core/evalh.js +++ b/jstests/core/evalh.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Test that db.eval does not support auth. */ diff --git a/jstests/core/evalj.js b/jstests/core/evalj.js index f2326fff365..fa5e3305501 100644 --- a/jstests/core/evalj.js +++ b/jstests/core/evalj.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + (function() { "use strict"; diff --git a/jstests/core/exhaust.js b/jstests/core/exhaust.js index cef3b32fcd2..264c8a849b6 100644 --- a/jstests/core/exhaust.js +++ b/jstests/core/exhaust.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + (function() { 'use strict'; diff --git a/jstests/core/exists7.js b/jstests/core/exists7.js index ab02a41d445..74ea4e9719c 100644 --- a/jstests/core/exists7.js +++ b/jstests/core/exists7.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] // Test that non boolean value types are allowed with $explain spec. SERVER-2322 diff --git a/jstests/core/exists8.js b/jstests/core/exists8.js index 4a8f66461a3..f22a3be44f4 100644 --- a/jstests/core/exists8.js +++ b/jstests/core/exists8.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test $exists with array element field names SERVER-2897 t = db.jstests_exists8; diff --git a/jstests/core/explain6.js b/jstests/core/explain6.js index 4b8c75fa4eb..bd57b19b6cf 100644 --- a/jstests/core/explain6.js +++ b/jstests/core/explain6.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Basic test which checks the number of documents returned, keys examined, and documents // examined as reported by explain. diff --git a/jstests/core/explain_agg_write_concern.js b/jstests/core/explain_agg_write_concern.js index bd744785082..e007eb5d6d3 100644 --- a/jstests/core/explain_agg_write_concern.js +++ b/jstests/core/explain_agg_write_concern.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // for output collection of aggregation pipeline. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns, +// requires_non_retryable_commands] /** * Tests related to the aggregate commands behavior with writeConcern and writeConcern + explain. diff --git a/jstests/core/explain_delete.js b/jstests/core/explain_delete.js index eeee5c23c14..ce8fd59363b 100644 --- a/jstests/core/explain_delete.js +++ b/jstests/core/explain_delete.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Tests for explaining the delete command. var collName = "jstests_explain_delete"; diff --git a/jstests/core/explain_execution_error.js b/jstests/core/explain_execution_error.js index 1eb08c9cc21..98de41289df 100644 --- a/jstests/core/explain_execution_error.js +++ b/jstests/core/explain_execution_error.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test that even when the execution of a query fails, explain reports query // planner information. diff --git a/jstests/core/explain_shell_helpers.js b/jstests/core/explain_shell_helpers.js index cfeb9451567..6786e33c80b 100644 --- a/jstests/core/explain_shell_helpers.js +++ b/jstests/core/explain_shell_helpers.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because the explain output from a mongod when run // against a sharded collection is wrapped in a "shards" object with keys for each shard. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] // Tests for the .explain() shell helper, which provides syntactic sugar for the explain command. diff --git a/jstests/core/expr.js b/jstests/core/expr.js index 174cda3c542..d8636ded871 100644 --- a/jstests/core/expr.js +++ b/jstests/core/expr.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_getmore, requires_non_retryable_writes] + // Tests for $expr in the CRUD commands. (function() { "use strict"; diff --git a/jstests/core/find9.js b/jstests/core/find9.js index 1c56e8c850d..c7a6fbf996e 100644 --- a/jstests/core/find9.js +++ b/jstests/core/find9.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test that the MaxBytesToReturnToClientAtOnce limit is enforced. t = db.jstests_find9; diff --git a/jstests/core/find_and_modify_empty_update.js b/jstests/core/find_and_modify_empty_update.js index a9b8cb55b34..8bdd7fd43e0 100644 --- a/jstests/core/find_and_modify_empty_update.js +++ b/jstests/core/find_and_modify_empty_update.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Test passing update:{} to findAndModify. SERVER-13883. diff --git a/jstests/core/find_getmore_bsonsize.js b/jstests/core/find_getmore_bsonsize.js index fdad2b1f1d6..6b9008cec51 100644 --- a/jstests/core/find_getmore_bsonsize.js +++ b/jstests/core/find_getmore_bsonsize.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Ensure that the find and getMore commands can handle documents nearing the 16 MB size limit for // user-stored BSON documents. (function() { diff --git a/jstests/core/find_getmore_cmd.js b/jstests/core/find_getmore_cmd.js index 3f3d50993e7..5f815fb1d4c 100644 --- a/jstests/core/find_getmore_cmd.js +++ b/jstests/core/find_getmore_cmd.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Tests that explicitly invoke the find and getMore commands. (function() { 'use strict'; diff --git a/jstests/core/finda.js b/jstests/core/finda.js index 711b70f2e25..eeb482318c5 100644 --- a/jstests/core/finda.js +++ b/jstests/core/finda.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Tests where the QueryOptimizerCursor enters takeover mode during a query rather than a get more. t = db.jstests_finda; diff --git a/jstests/core/fts_index2.js b/jstests/core/fts_index2.js index ecae5edb3a8..51a92e09876 100644 --- a/jstests/core/fts_index2.js +++ b/jstests/core/fts_index2.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because renameCollection command not supported // on sharded collections. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] // Test that collections with text indexes can be renamed. SERVER-14027. diff --git a/jstests/core/fts_querylang.js b/jstests/core/fts_querylang.js index 148292fbf91..5fb1b8e606c 100644 --- a/jstests/core/fts_querylang.js +++ b/jstests/core/fts_querylang.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test $text query operator. var t = db.getSiblingDB("test").getCollection("fts_querylang"); diff --git a/jstests/core/function_string_representations.js b/jstests/core/function_string_representations.js index af66e9160a9..211733e88fb 100644 --- a/jstests/core/function_string_representations.js +++ b/jstests/core/function_string_representations.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + /** Demonstrate that mapReduce can accept functions represented by strings. * Some drivers do not have a type which represents a Javascript function. These languages represent * the arguments to mapReduce as strings. diff --git a/jstests/core/geo_big_polygon.js b/jstests/core/geo_big_polygon.js index c973903863d..2c749486dab 100644 --- a/jstests/core/geo_big_polygon.js +++ b/jstests/core/geo_big_polygon.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // // Test of sample big polygon functionality // diff --git a/jstests/core/geo_big_polygon2.js b/jstests/core/geo_big_polygon2.js index 6576811a57e..fabb31d5b8b 100644 --- a/jstests/core/geo_big_polygon2.js +++ b/jstests/core/geo_big_polygon2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // // Big Polygon related tests // - Tests the capability for a geo query with a big polygon object (strictCRS) diff --git a/jstests/core/geo_big_polygon3.js b/jstests/core/geo_big_polygon3.js index d957664565f..ce2ecd55da3 100644 --- a/jstests/core/geo_big_polygon3.js +++ b/jstests/core/geo_big_polygon3.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_writes] + // // Big Polygon edge cases // diff --git a/jstests/core/geo_box1.js b/jstests/core/geo_box1.js index b1949063568..c724b0a8b5d 100644 --- a/jstests/core/geo_box1.js +++ b/jstests/core/geo_box1.js @@ -1,3 +1,4 @@ +// @tags: [requires_getmore] t = db.geo_box1; t.drop(); diff --git a/jstests/core/geo_box1_noindex.js b/jstests/core/geo_box1_noindex.js index a953149c59f..3bc7b5ad3e2 100644 --- a/jstests/core/geo_box1_noindex.js +++ b/jstests/core/geo_box1_noindex.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // SERVER-7343: allow $within without a geo index. t = db.geo_box1_noindex; t.drop(); diff --git a/jstests/core/geo_center_sphere2.js b/jstests/core/geo_center_sphere2.js index e2847e8a8b0..a01d7da6fb4 100644 --- a/jstests/core/geo_center_sphere2.js +++ b/jstests/core/geo_center_sphere2.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of use of $near query instead of geoNear // command. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_getmore] // // Tests the error handling of spherical queries diff --git a/jstests/core/geo_circle5.js b/jstests/core/geo_circle5.js index 1b3d67e91b0..1296e68073e 100644 --- a/jstests/core/geo_circle5.js +++ b/jstests/core/geo_circle5.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // reported as server-1238. db.server1238.drop(); diff --git a/jstests/core/geo_mapreduce.js b/jstests/core/geo_mapreduce.js index ebea034d00c..ea83d1e4474 100644 --- a/jstests/core/geo_mapreduce.js +++ b/jstests/core/geo_mapreduce.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test script from SERVER-1742 // MongoDB test script for mapreduce with geo query diff --git a/jstests/core/geo_mapreduce2.js b/jstests/core/geo_mapreduce2.js index 679b6474cc9..9a62d5222d7 100644 --- a/jstests/core/geo_mapreduce2.js +++ b/jstests/core/geo_mapreduce2.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Geo mapreduce 2 from SERVER-3478 var coll = db.geoMR2; diff --git a/jstests/core/geo_operator_crs.js b/jstests/core/geo_operator_crs.js index 13353f2262d..89fb7ca8585 100644 --- a/jstests/core/geo_operator_crs.js +++ b/jstests/core/geo_operator_crs.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // // Tests that the correct CRSes are used for geo queries (based on input geometry) // diff --git a/jstests/core/geo_s2cursorlimitskip.js b/jstests/core/geo_s2cursorlimitskip.js index 427fbf8fe29..dab23124e86 100644 --- a/jstests/core/geo_s2cursorlimitskip.js +++ b/jstests/core/geo_s2cursorlimitskip.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_getmore] + // Test various cursor behaviors var testDB = db.getSiblingDB("geo_s2cursorlimitskip"); diff --git a/jstests/core/geo_s2descindex.js b/jstests/core/geo_s2descindex.js index daf5531b31d..5ef5758ae8a 100644 --- a/jstests/core/geo_s2descindex.js +++ b/jstests/core/geo_s2descindex.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // // Tests 2dsphere with descending fields, ensures correct lookup // diff --git a/jstests/core/geo_s2near.js b/jstests/core/geo_s2near.js index 75572483144..fb1ade96c07 100644 --- a/jstests/core/geo_s2near.js +++ b/jstests/core/geo_s2near.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of use of $near query instead of geoNear // command. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_getmore] // Test 2dsphere near search, called via find and geoNear. t = db.geo_s2near; diff --git a/jstests/core/geo_s2nearComplex.js b/jstests/core/geo_s2nearComplex.js index b8c34c16310..9b5111e31d5 100644 --- a/jstests/core/geo_s2nearComplex.js +++ b/jstests/core/geo_s2nearComplex.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of use of $near query instead of geoNear // command. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_getmore, requires_non_retryable_writes] var t = db.get_s2nearcomplex; t.drop(); diff --git a/jstests/core/geo_uniqueDocs2.js b/jstests/core/geo_uniqueDocs2.js index 8965a475c93..32caebf4864 100644 --- a/jstests/core/geo_uniqueDocs2.js +++ b/jstests/core/geo_uniqueDocs2.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of use of $near query instead of geoNear // command. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Additional checks for geo uniqueDocs and includeLocs SERVER-3139. // SERVER-12120 uniqueDocs is deprecated. diff --git a/jstests/core/geo_update1.js b/jstests/core/geo_update1.js index e966afa7ea9..4bb18256a57 100644 --- a/jstests/core/geo_update1.js +++ b/jstests/core/geo_update1.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.geo_update1; t.drop(); diff --git a/jstests/core/geo_update2.js b/jstests/core/geo_update2.js index ffcf02617be..fe59c55357b 100644 --- a/jstests/core/geo_update2.js +++ b/jstests/core/geo_update2.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.geo_update2; t.drop(); diff --git a/jstests/core/geo_update_btree.js b/jstests/core/geo_update_btree.js index a85d4274415..d40c5ad8719 100644 --- a/jstests/core/geo_update_btree.js +++ b/jstests/core/geo_update_btree.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Tests whether the geospatial search is stable under btree updates var coll = db.getCollection("jstests_geo_update_btree"); diff --git a/jstests/core/geo_update_btree2.js b/jstests/core/geo_update_btree2.js index de867bf8e14..972b579163d 100644 --- a/jstests/core/geo_update_btree2.js +++ b/jstests/core/geo_update_btree2.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_getmore, requires_non_retryable_writes] + // Tests whether the geospatial search is stable under btree updates // // Tests the implementation of the 2d search, not the behavior we promise. MongoDB currently diff --git a/jstests/core/geo_update_dedup.js b/jstests/core/geo_update_dedup.js index da84e9879a2..2f66e2346cd 100644 --- a/jstests/core/geo_update_dedup.js +++ b/jstests/core/geo_update_dedup.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of use of $near query instead of geoNear // command. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Test that updates with geo queries which match // the same document multiple times only apply diff --git a/jstests/core/geo_withinquery.js b/jstests/core/geo_withinquery.js index 7f712ba1e86..24e463d8a9d 100644 --- a/jstests/core/geo_withinquery.js +++ b/jstests/core/geo_withinquery.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // SERVER-7343: allow $within without a geo index. t = db.geo_withinquery; t.drop(); diff --git a/jstests/core/geoc.js b/jstests/core/geoc.js index 93f3f5c374a..6d24430db54 100644 --- a/jstests/core/geoc.js +++ b/jstests/core/geoc.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of use of $near query instead of geoNear // command. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_getmore] t = db.geoc; t.drop(); diff --git a/jstests/core/getlog1.js b/jstests/core/getlog1.js index d19ba7cdde8..d55e68740dd 100644 --- a/jstests/core/getlog1.js +++ b/jstests/core/getlog1.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // to run: // ./mongo jstests/<this-file> diff --git a/jstests/core/getlog2.js b/jstests/core/getlog2.js index ee9d86198c6..987992dbd67 100644 --- a/jstests/core/getlog2.js +++ b/jstests/core/getlog2.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // tests getlog as well as slow querying logging // We turn off gossiping the mongo shell's clusterTime because it causes the slow command log diff --git a/jstests/core/getmore_cmd_maxtimems.js b/jstests/core/getmore_cmd_maxtimems.js index 9ea4a872043..755885b800d 100644 --- a/jstests/core/getmore_cmd_maxtimems.js +++ b/jstests/core/getmore_cmd_maxtimems.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_getmore] // Test attaching maxTimeMS to a getMore command. (function() { diff --git a/jstests/core/getmore_invalidated_cursors.js b/jstests/core/getmore_invalidated_cursors.js index 2d0bc20952d..527b6bf81e7 100644 --- a/jstests/core/getmore_invalidated_cursors.js +++ b/jstests/core/getmore_invalidated_cursors.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore, requires_non_retryable_commands] + // Tests that running a getMore on a cursor that has been invalidated by something like a collection // drop will return an appropriate error message. (function() { diff --git a/jstests/core/getmore_invalidated_documents.js b/jstests/core/getmore_invalidated_documents.js index 3eefcd4f231..7d00748bbce 100644 --- a/jstests/core/getmore_invalidated_documents.js +++ b/jstests/core/getmore_invalidated_documents.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_getmore, requires_non_retryable_writes] // Tests for invalidation during a getmore. This behavior is storage-engine dependent. // See SERVER-16675. diff --git a/jstests/core/idhack.js b/jstests/core/idhack.js index e26427f4b3c..0855a8ccbeb 100644 --- a/jstests/core/idhack.js +++ b/jstests/core/idhack.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.idhack; t.drop(); diff --git a/jstests/core/in4.js b/jstests/core/in4.js index c2f47bf8ed4..df9eea2577b 100644 --- a/jstests/core/in4.js +++ b/jstests/core/in4.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // SERVER-2343 Test $in empty array matching. t = db.jstests_in9; diff --git a/jstests/core/index1.js b/jstests/core/index1.js index 1bcc23be135..2efb9d22189 100644 --- a/jstests/core/index1.js +++ b/jstests/core/index1.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.embeddedIndexTest; diff --git a/jstests/core/index13.js b/jstests/core/index13.js index 920061dd6f5..cea4671c540 100644 --- a/jstests/core/index13.js +++ b/jstests/core/index13.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Top level match fields within an $elemMatch clause may constrain multiple subfields from a // compound multikey index. SERVER-3104 // diff --git a/jstests/core/index_arr2.js b/jstests/core/index_arr2.js index a7e541add09..ae1f3a12283 100644 --- a/jstests/core/index_arr2.js +++ b/jstests/core/index_arr2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + NUM = 20; M = 5; diff --git a/jstests/core/index_bigkeys_nofail.js b/jstests/core/index_bigkeys_nofail.js index 10d8a0791c0..ffbfea53779 100644 --- a/jstests/core/index_bigkeys_nofail.js +++ b/jstests/core/index_bigkeys_nofail.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_writes] + // SERVER-16497: Check that failIndexKeyTooLong setting works (function() { "use strict"; diff --git a/jstests/core/index_bigkeys_validation.js b/jstests/core/index_bigkeys_validation.js index af3f47272c3..bfe620e174a 100644 --- a/jstests/core/index_bigkeys_validation.js +++ b/jstests/core/index_bigkeys_validation.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Tests that index validation succeeds for long keys when failIndexKeyTooLong is set to false. // See: SERVER-22234 'use strict'; diff --git a/jstests/core/index_check2.js b/jstests/core/index_check2.js index f8590229d39..534784e6579 100644 --- a/jstests/core/index_check2.js +++ b/jstests/core/index_check2.js @@ -1,3 +1,4 @@ +// @tags: [requires_getmore] t = db.index_check2; t.drop(); diff --git a/jstests/core/index_dropdups_ignore.js b/jstests/core/index_dropdups_ignore.js index af75f57a601..aabea228c26 100644 --- a/jstests/core/index_dropdups_ignore.js +++ b/jstests/core/index_dropdups_ignore.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of not being able to create unique index // using hashed shard key pattern. -// @tags: [cannot_create_unique_index_when_using_hashed_shard_key] +// @tags: [cannot_create_unique_index_when_using_hashed_shard_key, requires_non_retryable_writes] // SERVER-14710 dropDups is ignored and stripped from the spec when building an index. diff --git a/jstests/core/index_filter_commands.js b/jstests/core/index_filter_commands.js index 644707fa199..cc50f65ca39 100644 --- a/jstests/core/index_filter_commands.js +++ b/jstests/core/index_filter_commands.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, does_not_support_stepdowns] /** * Index Filter commands diff --git a/jstests/core/index_many.js b/jstests/core/index_many.js index 3fae520fe81..f95d4ac50de 100644 --- a/jstests/core/index_many.js +++ b/jstests/core/index_many.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because renameCollection command not supported // on sharded collections. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] /* test using lots of indexes on one collection */ diff --git a/jstests/core/index_multiple_compatibility.js b/jstests/core/index_multiple_compatibility.js index 15f47d773e0..1ebe785abfc 100644 --- a/jstests/core/index_multiple_compatibility.js +++ b/jstests/core/index_multiple_compatibility.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of not being able to create unique index // using hashed shard key pattern. -// @tags: [cannot_create_unique_index_when_using_hashed_shard_key] +// @tags: [cannot_create_unique_index_when_using_hashed_shard_key, requires_non_retryable_writes] // Test that multiple indexes behave correctly together. (function() { diff --git a/jstests/core/index_partial_read_ops.js b/jstests/core/index_partial_read_ops.js index bef51700b27..fc8ab0233a7 100644 --- a/jstests/core/index_partial_read_ops.js +++ b/jstests/core/index_partial_read_ops.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because the explain output from a mongod when run // against a sharded collection is wrapped in a "shards" object with keys for each shard. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] // Read ops tests for partial indexes. diff --git a/jstests/core/index_partial_write_ops.js b/jstests/core/index_partial_write_ops.js index 41e0e0263ef..a88989883d1 100644 --- a/jstests/core/index_partial_write_ops.js +++ b/jstests/core/index_partial_write_ops.js @@ -1,5 +1,5 @@ // Write ops tests for partial indexes. -// @tags: [cannot_create_unique_index_when_using_hashed_shard_key] +// @tags: [cannot_create_unique_index_when_using_hashed_shard_key, requires_non_retryable_writes] (function() { "use strict"; diff --git a/jstests/core/index_sparse1.js b/jstests/core/index_sparse1.js index 49decd3783c..9322415e04e 100644 --- a/jstests/core/index_sparse1.js +++ b/jstests/core/index_sparse1.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of extra shard key index in sharded // collection. -// @tags: [assumes_no_implicit_index_creation] +// @tags: [assumes_no_implicit_index_creation, requires_non_retryable_writes] t = db.index_sparse1; t.drop(); diff --git a/jstests/core/index_stats.js b/jstests/core/index_stats.js index b8187e76de2..4781484132f 100644 --- a/jstests/core/index_stats.js +++ b/jstests/core/index_stats.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns, requires_non_retryable_writes] (function() { "use strict"; diff --git a/jstests/core/indexe.js b/jstests/core/indexe.js index 55e256b9df9..3b55c4fb85a 100644 --- a/jstests/core/indexe.js +++ b/jstests/core/indexe.js @@ -1,3 +1,4 @@ +// @tags: [requires_getmore] t = db.indexe; t.drop(); diff --git a/jstests/core/indexr.js b/jstests/core/indexr.js index d242ad87316..9d8f9a29ea8 100644 --- a/jstests/core/indexr.js +++ b/jstests/core/indexr.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Check multikey index cases with parallel nested fields SERVER-958. t = db.jstests_indexr; diff --git a/jstests/core/indexu.js b/jstests/core/indexu.js index 088f0b86d44..953d178fff5 100644 --- a/jstests/core/indexu.js +++ b/jstests/core/indexu.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test index key generation with duplicate values addressed by array index and // object field. SERVER-2902 diff --git a/jstests/core/isolated.js b/jstests/core/isolated.js index 9295b9e38b7..3bfbcae09c6 100644 --- a/jstests/core/isolated.js +++ b/jstests/core/isolated.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Tests for the $isolated update/delete operator. (function() { "use strict"; diff --git a/jstests/core/js1.js b/jstests/core/js1.js index 66462237417..5d00cee28f9 100644 --- a/jstests/core/js1.js +++ b/jstests/core/js1.js @@ -1,4 +1,4 @@ - +// @tags: [requires_non_retryable_writes] t = db.jstests_js1; t.remove({}); diff --git a/jstests/core/js2.js b/jstests/core/js2.js index e3d20a3e205..bd5379f7df1 100644 --- a/jstests/core/js2.js +++ b/jstests/core/js2.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.jstests_js2; t.remove({}); diff --git a/jstests/core/js3.js b/jstests/core/js3.js index 7a612a1bdee..db7668243a3 100644 --- a/jstests/core/js3.js +++ b/jstests/core/js3.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] t = db.jstests_js3; diff --git a/jstests/core/js7.js b/jstests/core/js7.js index 810f4692d4f..78a84cafa95 100644 --- a/jstests/core/js7.js +++ b/jstests/core/js7.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + t = db.jstests_js7; t.drop(); diff --git a/jstests/core/js9.js b/jstests/core/js9.js index 808ae9a0998..c26c3544eb3 100644 --- a/jstests/core/js9.js +++ b/jstests/core/js9.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] c = db.jstests_js9; c.drop(); diff --git a/jstests/core/json_schema/additional_items.js b/jstests/core/json_schema/additional_items.js index e204dd8c31f..c3866c88565 100644 --- a/jstests/core/json_schema/additional_items.js +++ b/jstests/core/json_schema/additional_items.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests the JSON Schema "additionalItems" keyword. */ diff --git a/jstests/core/json_schema/additional_properties.js b/jstests/core/json_schema/additional_properties.js index da5553391ce..ce699a6036c 100644 --- a/jstests/core/json_schema/additional_properties.js +++ b/jstests/core/json_schema/additional_properties.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests for the JSON Schema 'additionalProperties' keyword. */ diff --git a/jstests/core/json_schema/bsontype.js b/jstests/core/json_schema/bsontype.js index 60163b4748f..f5ec15a06a8 100644 --- a/jstests/core/json_schema/bsontype.js +++ b/jstests/core/json_schema/bsontype.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests for the non-standard 'bsonType' keyword in JSON Schema, as well as some tests for 'type'. */ diff --git a/jstests/core/json_schema/dependencies.js b/jstests/core/json_schema/dependencies.js index 98c8c6e0c0b..442976aa5fc 100644 --- a/jstests/core/json_schema/dependencies.js +++ b/jstests/core/json_schema/dependencies.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests for the JSON Schema 'dependencies' keyword. */ diff --git a/jstests/core/json_schema/items.js b/jstests/core/json_schema/items.js index a81d8c09fcb..57974a3d612 100644 --- a/jstests/core/json_schema/items.js +++ b/jstests/core/json_schema/items.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests the JSON Schema "items" keyword. */ diff --git a/jstests/core/json_schema/json_schema.js b/jstests/core/json_schema/json_schema.js index d7767d1bcc3..613b14af226 100644 --- a/jstests/core/json_schema/json_schema.js +++ b/jstests/core/json_schema/json_schema.js @@ -1,5 +1,5 @@ // listCollections tests expect that a collection is not implicitly created after a drop. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] /** * Tests for JSON Schema document validation. diff --git a/jstests/core/json_schema/logical_keywords.js b/jstests/core/json_schema/logical_keywords.js index fd10a54ea06..507123e2c69 100644 --- a/jstests/core/json_schema/logical_keywords.js +++ b/jstests/core/json_schema/logical_keywords.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests for the JSON Schema logical keywords, including: * diff --git a/jstests/core/json_schema/min_max_items.js b/jstests/core/json_schema/min_max_items.js index e403b39421e..1dff469747d 100644 --- a/jstests/core/json_schema/min_max_items.js +++ b/jstests/core/json_schema/min_max_items.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests the JSON Schema keywords "minItems" and "maxItems". */ diff --git a/jstests/core/json_schema/min_max_properties.js b/jstests/core/json_schema/min_max_properties.js index ec11b615329..fbfffceb96c 100644 --- a/jstests/core/json_schema/min_max_properties.js +++ b/jstests/core/json_schema/min_max_properties.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests for the JSON Schema 'minProperties' and 'maxProperties' keywords. */ diff --git a/jstests/core/json_schema/misc_validation.js b/jstests/core/json_schema/misc_validation.js index 90d25fff0e2..ddb7092a44a 100644 --- a/jstests/core/json_schema/misc_validation.js +++ b/jstests/core/json_schema/misc_validation.js @@ -12,7 +12,8 @@ * - applyOps * - $elemMatch projection * - * @tags: [assumes_no_implicit_collection_creation_after_drop] + * @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands, + * requires_non_retryable_writes] */ (function() { "use strict"; diff --git a/jstests/core/json_schema/pattern_properties.js b/jstests/core/json_schema/pattern_properties.js index 8e79342ff4c..b94987f2a4a 100644 --- a/jstests/core/json_schema/pattern_properties.js +++ b/jstests/core/json_schema/pattern_properties.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests for the JSON Schema 'patternProperties' keyword. */ diff --git a/jstests/core/json_schema/required.js b/jstests/core/json_schema/required.js index 92d8a453a13..4ffc7438b48 100644 --- a/jstests/core/json_schema/required.js +++ b/jstests/core/json_schema/required.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests for handling of the JSON Schema 'required' keyword. */ diff --git a/jstests/core/json_schema/unique_items.js b/jstests/core/json_schema/unique_items.js index 08c8ae84211..4e558b5db73 100644 --- a/jstests/core/json_schema/unique_items.js +++ b/jstests/core/json_schema/unique_items.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + /** * Tests the JSON Schema "uniqueItems" keyword. */ diff --git a/jstests/core/kill_cursors.js b/jstests/core/kill_cursors.js index c78dd1c86db..e825c6bd8bf 100644 --- a/jstests/core/kill_cursors.js +++ b/jstests/core/kill_cursors.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test the killCursors command. (function() { 'use strict'; diff --git a/jstests/core/list_collections1.js b/jstests/core/list_collections1.js index 89499e534c0..ef6f6240d67 100644 --- a/jstests/core/list_collections1.js +++ b/jstests/core/list_collections1.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_getmore] // Basic functional tests for the listCollections command. // diff --git a/jstests/core/list_indexes.js b/jstests/core/list_indexes.js index 08972d723a7..544a4b868a2 100644 --- a/jstests/core/list_indexes.js +++ b/jstests/core/list_indexes.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_getmore] // Basic functional tests for the listIndexes command. diff --git a/jstests/core/list_indexes_invalidation.js b/jstests/core/list_indexes_invalidation.js index 0a5727d0cbb..68742007bbf 100644 --- a/jstests/core/list_indexes_invalidation.js +++ b/jstests/core/list_indexes_invalidation.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because renameCollection command not supported // on sharded collections. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] // SERVER-24963/SERVER-27930 Missing invalidation for system.indexes writes (function() { diff --git a/jstests/core/list_namespaces_invalidation.js b/jstests/core/list_namespaces_invalidation.js index fb6fcd68ff6..a97633c7ca9 100644 --- a/jstests/core/list_namespaces_invalidation.js +++ b/jstests/core/list_namespaces_invalidation.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // SERVER-27996/SERVER-28022 Missing invalidation for system.namespaces writes (function() { 'use strict'; diff --git a/jstests/core/loadserverscripts.js b/jstests/core/loadserverscripts.js index daf87b2475b..17ab816f1fe 100644 --- a/jstests/core/loadserverscripts.js +++ b/jstests/core/loadserverscripts.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] // Test db.loadServerScripts() diff --git a/jstests/core/logprocessdetails.js b/jstests/core/logprocessdetails.js index 1ff4fff1112..1987393341e 100644 --- a/jstests/core/logprocessdetails.js +++ b/jstests/core/logprocessdetails.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + /** * SERVER-7140 test. Checks that process info is re-logged on log rotation */ diff --git a/jstests/core/max_time_ms.js b/jstests/core/max_time_ms.js index b1a9f0e2f9c..468a474aef3 100644 --- a/jstests/core/max_time_ms.js +++ b/jstests/core/max_time_ms.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Tests query/command option $maxTimeMS. var t = db.max_time_ms; diff --git a/jstests/core/mr1.js b/jstests/core/mr1.js index 00a5726db0d..12aeaf0cd7f 100644 --- a/jstests/core/mr1.js +++ b/jstests/core/mr1.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns, requires_getmore] t = db.mr1; t.drop(); diff --git a/jstests/core/mr2.js b/jstests/core/mr2.js index be17658ffd7..53da098835d 100644 --- a/jstests/core/mr2.js +++ b/jstests/core/mr2.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because the "jsMode" option to the "mapReduce" // command cannot be used on a sharded collection. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] t = db.mr2; t.drop(); diff --git a/jstests/core/mr3.js b/jstests/core/mr3.js index f5a45e0fd1c..3aaf43c12a5 100644 --- a/jstests/core/mr3.js +++ b/jstests/core/mr3.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr3; t.drop(); diff --git a/jstests/core/mr4.js b/jstests/core/mr4.js index 683583acecd..9db2d998604 100644 --- a/jstests/core/mr4.js +++ b/jstests/core/mr4.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr4; t.drop(); diff --git a/jstests/core/mr5.js b/jstests/core/mr5.js index 8552f891358..25aa387594a 100644 --- a/jstests/core/mr5.js +++ b/jstests/core/mr5.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr5; t.drop(); diff --git a/jstests/core/mr_bigobject.js b/jstests/core/mr_bigobject.js index 1311af5883a..bf85c39c7b6 100644 --- a/jstests/core/mr_bigobject.js +++ b/jstests/core/mr_bigobject.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr_bigobject; t.drop(); diff --git a/jstests/core/mr_bigobject_replace.js b/jstests/core/mr_bigobject_replace.js index da7c08c0e3a..6b7c2724686 100644 --- a/jstests/core/mr_bigobject_replace.js +++ b/jstests/core/mr_bigobject_replace.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of following errmsg: Cannot output to a // non-sharded collection because sharded collection exists already. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] /** * Test that the server returns an error response for map-reduce operations that attempt to insert a diff --git a/jstests/core/mr_comments.js b/jstests/core/mr_comments.js index 503bded9bd0..127a7cb5da1 100644 --- a/jstests/core/mr_comments.js +++ b/jstests/core/mr_comments.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr_comments; t.drop(); diff --git a/jstests/core/mr_errorhandling.js b/jstests/core/mr_errorhandling.js index 8da061459d2..2ded89baecf 100644 --- a/jstests/core/mr_errorhandling.js +++ b/jstests/core/mr_errorhandling.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, does_not_support_stepdowns] t = db.mr_errorhandling; t.drop(); diff --git a/jstests/core/mr_index.js b/jstests/core/mr_index.js index 796dbe5c562..de509a357cd 100644 --- a/jstests/core/mr_index.js +++ b/jstests/core/mr_index.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr_index; t.drop(); diff --git a/jstests/core/mr_index2.js b/jstests/core/mr_index2.js index 99741fedcbd..c3e514e699b 100644 --- a/jstests/core/mr_index2.js +++ b/jstests/core/mr_index2.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr_index2; t.drop(); diff --git a/jstests/core/mr_index3.js b/jstests/core/mr_index3.js index 885089ade4d..64ab0d1aea8 100644 --- a/jstests/core/mr_index3.js +++ b/jstests/core/mr_index3.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr_index3; t.drop(); diff --git a/jstests/core/mr_killop.js b/jstests/core/mr_killop.js index b7ea2c6cbf8..25675fa64ab 100644 --- a/jstests/core/mr_killop.js +++ b/jstests/core/mr_killop.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because the "command" field in the currentOp() // output is reported as {"mapreduce.shardedfinish": { mapreduce: "jstests_mr_killop", ... }, ... } // when the "finalize" option to the "mapReduce" command is used on a sharded collection. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] // Test killop applied to m/r operations and child ops of m/r operations. diff --git a/jstests/core/mr_merge.js b/jstests/core/mr_merge.js index e81e8f57b0d..70445b89cf5 100644 --- a/jstests/core/mr_merge.js +++ b/jstests/core/mr_merge.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of following errmsg: Cannot output to a // non-sharded collection because sharded collection exists already. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] t = db.mr_merge; t.drop(); diff --git a/jstests/core/mr_merge2.js b/jstests/core/mr_merge2.js index db4e83377ab..8bdc2a90216 100644 --- a/jstests/core/mr_merge2.js +++ b/jstests/core/mr_merge2.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of following errmsg: Cannot output to a // non-sharded collection because sharded collection exists already. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] t = db.mr_merge2; t.drop(); diff --git a/jstests/core/mr_mutable_properties.js b/jstests/core/mr_mutable_properties.js index 84066bf76c0..8c9eacd6e97 100644 --- a/jstests/core/mr_mutable_properties.js +++ b/jstests/core/mr_mutable_properties.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // See SERVER-9448 // Test argument and receiver (aka 'this') objects and their children can be mutated // in Map, Reduce and Finalize functions diff --git a/jstests/core/mr_optim.js b/jstests/core/mr_optim.js index 7437753ca67..19ec4e55b6b 100644 --- a/jstests/core/mr_optim.js +++ b/jstests/core/mr_optim.js @@ -1,4 +1,4 @@ - +// @tags: [does_not_support_stepdowns, requires_getmore] t = db.mr_optim; t.drop(); diff --git a/jstests/core/mr_outreduce.js b/jstests/core/mr_outreduce.js index 01fcb1704ba..089faf4a87b 100644 --- a/jstests/core/mr_outreduce.js +++ b/jstests/core/mr_outreduce.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of following errmsg: Cannot output to a // non-sharded collection because sharded collection exists already. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] t = db.mr_outreduce; t.drop(); diff --git a/jstests/core/mr_outreduce2.js b/jstests/core/mr_outreduce2.js index cb9f3379d07..1a7a7597ff7 100644 --- a/jstests/core/mr_outreduce2.js +++ b/jstests/core/mr_outreduce2.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of following errmsg: Cannot output to a // non-sharded collection because sharded collection exists already. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] normal = "mr_outreduce2"; out = normal + "_out"; diff --git a/jstests/core/mr_replaceIntoDB.js b/jstests/core/mr_replaceIntoDB.js index 6ffc8546c2d..2fbac26665b 100644 --- a/jstests/core/mr_replaceIntoDB.js +++ b/jstests/core/mr_replaceIntoDB.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr_replace; t.drop(); diff --git a/jstests/core/mr_sort.js b/jstests/core/mr_sort.js index fe1a5a48beb..d53b741f5c5 100644 --- a/jstests/core/mr_sort.js +++ b/jstests/core/mr_sort.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because the "limit" option to the "mapReduce" // command cannot be used on a sharded collection. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] t = db.mr_sort; t.drop(); diff --git a/jstests/core/mr_stored.js b/jstests/core/mr_stored.js index 5969638b8b9..3da288f0259 100644 --- a/jstests/core/mr_stored.js +++ b/jstests/core/mr_stored.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_writes] t = db.mr_stored; t.drop(); diff --git a/jstests/core/mr_tolerates_js_exception.js b/jstests/core/mr_tolerates_js_exception.js index 5b4fcba879d..47536a3cc3f 100644 --- a/jstests/core/mr_tolerates_js_exception.js +++ b/jstests/core/mr_tolerates_js_exception.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + /** * Test that the mapReduce command fails gracefully when user-provided JavaScript code throws. */ diff --git a/jstests/core/mr_undef.js b/jstests/core/mr_undef.js index de3b61543d7..88e5936af4e 100644 --- a/jstests/core/mr_undef.js +++ b/jstests/core/mr_undef.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] t = db.mr_undef; t.drop(); diff --git a/jstests/core/nestedarr1.js b/jstests/core/nestedarr1.js index 239502202e3..049e09980d7 100644 --- a/jstests/core/nestedarr1.js +++ b/jstests/core/nestedarr1.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + /** * Inserts documents with an indexed nested array field, progressively increasing the nesting * depth until the key is too large to index. This tests that we support at least the minimum diff --git a/jstests/core/nestedobj1.js b/jstests/core/nestedobj1.js index 3eb4b04dd1c..70575b2d3a6 100644 --- a/jstests/core/nestedobj1.js +++ b/jstests/core/nestedobj1.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + /** * Inserts documents with an indexed nested document field, progressively increasing the nesting * depth until the key is too large to index. This tests that we support at least the minimum diff --git a/jstests/core/nin2.js b/jstests/core/nin2.js index 41996c1f4bb..d134f5ad4a4 100644 --- a/jstests/core/nin2.js +++ b/jstests/core/nin2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Check that $nin is the opposite of $in SERVER-3264 t = db.jstests_nin2; diff --git a/jstests/core/no_db_created.js b/jstests/core/no_db_created.js index 3491914d470..231e8ffe581 100644 --- a/jstests/core/no_db_created.js +++ b/jstests/core/no_db_created.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // checks that operations do not create a database (function() { diff --git a/jstests/core/not2.js b/jstests/core/not2.js index a02399139df..21e8d9aa9c4 100644 --- a/jstests/core/not2.js +++ b/jstests/core/not2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + (function() { "use strict"; diff --git a/jstests/core/notablescan.js b/jstests/core/notablescan.js index 80306c08cf2..d6ff16fc1f5 100644 --- a/jstests/core/notablescan.js +++ b/jstests/core/notablescan.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // check notablescan mode t = db.test_notablescan; diff --git a/jstests/core/ns_length.js b/jstests/core/ns_length.js index 17e5cbc0e25..28aed301053 100644 --- a/jstests/core/ns_length.js +++ b/jstests/core/ns_length.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // SERVER-7282 Faulty logic when testing maximum collection name length. // constants from server diff --git a/jstests/core/numberlong2.js b/jstests/core/numberlong2.js index 59ca199259f..ca162ddf53f 100644 --- a/jstests/core/numberlong2.js +++ b/jstests/core/numberlong2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test precision of NumberLong values with v1 index code SERVER-3717 t = db.jstests_numberlong2; diff --git a/jstests/core/optimized_match_explain.js b/jstests/core/optimized_match_explain.js index 8e688302753..6f73349e08c 100644 --- a/jstests/core/optimized_match_explain.js +++ b/jstests/core/optimized_match_explain.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + /** * Tests that the explain output for $match reflects any optimizations. */ diff --git a/jstests/core/or4.js b/jstests/core/or4.js index 42e770e4292..91876c601ab 100644 --- a/jstests/core/or4.js +++ b/jstests/core/or4.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because of unsupported group operator on sharded // collection. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, does_not_support_stepdowns, requires_getmore, +// requires_non_retryable_writes] t = db.jstests_or4; t.drop(); diff --git a/jstests/core/or5.js b/jstests/core/or5.js index dd32c1c3c50..7e61f9bf8cf 100644 --- a/jstests/core/or5.js +++ b/jstests/core/or5.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + t = db.jstests_or5; t.drop(); diff --git a/jstests/core/or7.js b/jstests/core/or7.js index 49fd936d7eb..d824a90aa81 100644 --- a/jstests/core/or7.js +++ b/jstests/core/or7.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + t = db.jstests_or7; t.drop(); diff --git a/jstests/core/or8.js b/jstests/core/or8.js index c778238b96e..def8a79c19e 100644 --- a/jstests/core/or8.js +++ b/jstests/core/or8.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // missing collection t = db.jstests_or8; diff --git a/jstests/core/or9.js b/jstests/core/or9.js index d203d3d5f4d..68814c684cb 100644 --- a/jstests/core/or9.js +++ b/jstests/core/or9.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // index skipping and previous index range negation t = db.jstests_or9; diff --git a/jstests/core/orc.js b/jstests/core/orc.js index c68c6859651..dc46d6de4ad 100644 --- a/jstests/core/orc.js +++ b/jstests/core/orc.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // test that or duplicates are dropped in certain special cases t = db.jstests_orc; t.drop(); diff --git a/jstests/core/org.js b/jstests/core/org.js index 4bc4a813b4c..7479db062e4 100644 --- a/jstests/core/org.js +++ b/jstests/core/org.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // SERVER-2282 $or de duping with sparse indexes t = db.jstests_org; diff --git a/jstests/core/orh.js b/jstests/core/orh.js index 357bb1ea5c3..1ceed1d501f 100644 --- a/jstests/core/orh.js +++ b/jstests/core/orh.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // SERVER-2831 Demonstration of sparse index matching semantics in a multi index $or query. t = db.jstests_orh; diff --git a/jstests/core/oro.js b/jstests/core/oro.js index be8a99e7e35..810be865649 100644 --- a/jstests/core/oro.js +++ b/jstests/core/oro.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test $or query with several clauses on separate indexes. t = db.jstests_oro; diff --git a/jstests/core/plan_cache_clear.js b/jstests/core/plan_cache_clear.js index bb44ecab549..a03ec7fb08c 100644 --- a/jstests/core/plan_cache_clear.js +++ b/jstests/core/plan_cache_clear.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test clearing of the plan cache, either manually through the planCacheClear command, // or due to system events such as an index build. diff --git a/jstests/core/plan_cache_list_plans.js b/jstests/core/plan_cache_list_plans.js index 4da32686ae6..e82f8f1cdd4 100644 --- a/jstests/core/plan_cache_list_plans.js +++ b/jstests/core/plan_cache_list_plans.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test the planCacheListPlans command. (function() { diff --git a/jstests/core/plan_cache_list_shapes.js b/jstests/core/plan_cache_list_shapes.js index 1c9ecdf9e1b..f78021c54ea 100644 --- a/jstests/core/plan_cache_list_shapes.js +++ b/jstests/core/plan_cache_list_shapes.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test the planCacheListQueryShapes command, which returns a list of query shapes // for the queries currently cached in the collection. diff --git a/jstests/core/plan_cache_shell_helpers.js b/jstests/core/plan_cache_shell_helpers.js index ec4ab6df693..6ffbae8bed5 100644 --- a/jstests/core/plan_cache_shell_helpers.js +++ b/jstests/core/plan_cache_shell_helpers.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test the shell helpers which wrap the plan cache commands. var t = db.jstests_plan_cache_shell_helpers; diff --git a/jstests/core/profile1.js b/jstests/core/profile1.js index e248617b4e7..48932c95fbe 100644 --- a/jstests/core/profile1.js +++ b/jstests/core/profile1.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_commands] + (function() { "use strict"; function profileCursor(query) { diff --git a/jstests/core/profile_agg.js b/jstests/core/profile_agg.js index 9bd60249830..9495250030a 100644 --- a/jstests/core/profile_agg.js +++ b/jstests/core/profile_agg.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled aggregation execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_count.js b/jstests/core/profile_count.js index 2fb9063a25b..2fc33b77f3a 100644 --- a/jstests/core/profile_count.js +++ b/jstests/core/profile_count.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled count execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_delete.js b/jstests/core/profile_delete.js index 475415ffa16..e3a69e32d13 100644 --- a/jstests/core/profile_delete.js +++ b/jstests/core/profile_delete.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_writes] + // Confirms that profiled delete execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_distinct.js b/jstests/core/profile_distinct.js index 432deffc542..2d825df811f 100644 --- a/jstests/core/profile_distinct.js +++ b/jstests/core/profile_distinct.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled distinct execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_find.js b/jstests/core/profile_find.js index 0464f2ed438..71632197f4c 100644 --- a/jstests/core/profile_find.js +++ b/jstests/core/profile_find.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled find execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_geonear.js b/jstests/core/profile_geonear.js index d6ec98011f0..d8cb90a9d0c 100644 --- a/jstests/core/profile_geonear.js +++ b/jstests/core/profile_geonear.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled geonear execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_getmore.js b/jstests/core/profile_getmore.js index 90f8e323f84..6d16c291b91 100644 --- a/jstests/core/profile_getmore.js +++ b/jstests/core/profile_getmore.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_getmore] + // Confirms that profiled getMore execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_group.js b/jstests/core/profile_group.js index cfcec3dfc1b..57644e80f93 100644 --- a/jstests/core/profile_group.js +++ b/jstests/core/profile_group.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled group execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_insert.js b/jstests/core/profile_insert.js index 846c6d0e34b..41d1b4e9b03 100644 --- a/jstests/core/profile_insert.js +++ b/jstests/core/profile_insert.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled insert execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_list_collections.js b/jstests/core/profile_list_collections.js index 8caaf624e95..8ddd7b9f246 100644 --- a/jstests/core/profile_list_collections.js +++ b/jstests/core/profile_list_collections.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_getmore] + // Confirms that a listCollections command is not profiled. (function() { diff --git a/jstests/core/profile_list_indexes.js b/jstests/core/profile_list_indexes.js index 6e270773381..18062c71eac 100644 --- a/jstests/core/profile_list_indexes.js +++ b/jstests/core/profile_list_indexes.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_getmore] + // Confirms that a listIndexes command and subsequent getMores of its cursor are profiled correctly. (function() { diff --git a/jstests/core/profile_mapreduce.js b/jstests/core/profile_mapreduce.js index d579091aff7..1e7b039b7ca 100644 --- a/jstests/core/profile_mapreduce.js +++ b/jstests/core/profile_mapreduce.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that profiled findAndModify execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/profile_no_such_db.js b/jstests/core/profile_no_such_db.js index 51e70f4dc5d..cce8454fccb 100644 --- a/jstests/core/profile_no_such_db.js +++ b/jstests/core/profile_no_such_db.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test that reading the profiling level doesn't create databases, but setting it does. (function(db) { 'use strict'; diff --git a/jstests/core/profile_parallel_collection_scan.js b/jstests/core/profile_parallel_collection_scan.js index e3cde4f2ada..602b13716c4 100644 --- a/jstests/core/profile_parallel_collection_scan.js +++ b/jstests/core/profile_parallel_collection_scan.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_getmore] + // Confirms that a parallelCollectionScan command and subsequent getMores of its cursor are profiled // correctly. diff --git a/jstests/core/profile_repair_cursor.js b/jstests/core/profile_repair_cursor.js index ec7cda8283b..ad70bed7de0 100644 --- a/jstests/core/profile_repair_cursor.js +++ b/jstests/core/profile_repair_cursor.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Confirms that a repairCursor command and subsequent getMores of its cursor are profiled // correctly. diff --git a/jstests/core/profile_sampling.js b/jstests/core/profile_sampling.js index d235c945f04..789b11a0440 100644 --- a/jstests/core/profile_sampling.js +++ b/jstests/core/profile_sampling.js @@ -1,4 +1,5 @@ // Confirms that the number of profiled operations is consistent with the sampleRate, if set. +// @tags: [does_not_support_stepdowns] (function() { "use strict"; diff --git a/jstests/core/profile_update.js b/jstests/core/profile_update.js index 9b23d894585..1e272ba6669 100644 --- a/jstests/core/profile_update.js +++ b/jstests/core/profile_update.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_writes] + // Confirms that profiled update execution contains all expected metrics with proper values. (function() { diff --git a/jstests/core/proj_key1.js b/jstests/core/proj_key1.js index 5ef6be3f51b..916ad8f1139 100644 --- a/jstests/core/proj_key1.js +++ b/jstests/core/proj_key1.js @@ -1,3 +1,4 @@ +// @tags: [requires_getmore] t = db.proj_key1; t.drop(); diff --git a/jstests/core/push_sort.js b/jstests/core/push_sort.js index 2a518020248..815a88f0b7d 100644 --- a/jstests/core/push_sort.js +++ b/jstests/core/push_sort.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // // $push acquired the possibility of sorting the resulting array as part of SERVER-8008. This // test exercises such $sort clause from the shell user's perspective. diff --git a/jstests/core/queryoptimizer3.js b/jstests/core/queryoptimizer3.js index 6d35e3085a9..a0c3c0cc1d4 100644 --- a/jstests/core/queryoptimizer3.js +++ b/jstests/core/queryoptimizer3.js @@ -6,7 +6,7 @@ // starved frequently. // Note: this tag can be safely removed once PM-697 is complete and replaces distlocks with a // LockManager that has a fairness policy, which distlocks lack. -// @tags: [assumes_against_mongod_not_mongos] +// @tags: [assumes_against_mongod_not_mongos, requires_non_retryable_writes] (function() { 'use strict'; diff --git a/jstests/core/queryoptimizera.js b/jstests/core/queryoptimizera.js index 80036cd78c0..478e2a2a2a2 100644 --- a/jstests/core/queryoptimizera.js +++ b/jstests/core/queryoptimizera.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Check that a warning message about doing a capped collection scan for a query with an _id // constraint is printed at appropriate times. SERVER-5353 diff --git a/jstests/core/recursion.js b/jstests/core/recursion.js index 926250be20d..4a0488a723d 100644 --- a/jstests/core/recursion.js +++ b/jstests/core/recursion.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_commands] + // Basic tests for a form of stack recursion that's been shown to cause C++ // side stack overflows in the past. See SERVER-19614. diff --git a/jstests/core/remove.js b/jstests/core/remove.js index c4afd07c99c..d02f107a189 100644 --- a/jstests/core/remove.js +++ b/jstests/core/remove.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // remove.js // unit test for db remove diff --git a/jstests/core/remove2.js b/jstests/core/remove2.js index 81d377c3dfa..51ed13dce14 100644 --- a/jstests/core/remove2.js +++ b/jstests/core/remove2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // remove2.js // a unit test for db remove diff --git a/jstests/core/remove3.js b/jstests/core/remove3.js index 75e95860cb1..66a29893daa 100644 --- a/jstests/core/remove3.js +++ b/jstests/core/remove3.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.remove3; t.drop(); diff --git a/jstests/core/remove4.js b/jstests/core/remove4.js index dde28517031..483de24bf7d 100644 --- a/jstests/core/remove4.js +++ b/jstests/core/remove4.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + t = db.remove4; t.drop(); diff --git a/jstests/core/remove6.js b/jstests/core/remove6.js index 61cc39b6e3e..3e977924e60 100644 --- a/jstests/core/remove6.js +++ b/jstests/core/remove6.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.remove6; t.drop(); diff --git a/jstests/core/remove7.js b/jstests/core/remove7.js index 9c78b24eefa..226a4cfb150 100644 --- a/jstests/core/remove7.js +++ b/jstests/core/remove7.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.remove7; t.drop(); diff --git a/jstests/core/remove8.js b/jstests/core/remove8.js index 2935c9647bc..d45891faac6 100644 --- a/jstests/core/remove8.js +++ b/jstests/core/remove8.js @@ -1,6 +1,7 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // from db.eval. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands, +// requires_non_retryable_writes] t = db.remove8; t.drop(); diff --git a/jstests/core/remove9.js b/jstests/core/remove9.js index 1c82d7b4fce..e7c0373972c 100644 --- a/jstests/core/remove9.js +++ b/jstests/core/remove9.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore, requires_non_retryable_writes] + // SERVER-2009 Count odd numbered entries while updating and deleting even numbered entries. t = db.jstests_remove9; diff --git a/jstests/core/remove_justone.js b/jstests/core/remove_justone.js index a8b6ba318ee..6dbe2bdac48 100644 --- a/jstests/core/remove_justone.js +++ b/jstests/core/remove_justone.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] t = db.remove_justone; t.drop(); diff --git a/jstests/core/remove_undefined.js b/jstests/core/remove_undefined.js index af7dce1e409..c13e147fbc3 100644 --- a/jstests/core/remove_undefined.js +++ b/jstests/core/remove_undefined.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + (function() { "use strict"; diff --git a/jstests/core/removea.js b/jstests/core/removea.js index 9b51080910b..7c4db76245e 100644 --- a/jstests/core/removea.js +++ b/jstests/core/removea.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test removal of a substantial proportion of inserted documents. SERVER-3803 // A complete test will only be performed against a DEBUG build. diff --git a/jstests/core/removeb.js b/jstests/core/removeb.js index 8d049e2439b..14fd23b2e54 100644 --- a/jstests/core/removeb.js +++ b/jstests/core/removeb.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test removal of Records that have been reused since the remove operation began. SERVER-5198 t = db.jstests_removeb; diff --git a/jstests/core/removec.js b/jstests/core/removec.js index f2c4e29e4fc..64d486285e9 100644 --- a/jstests/core/removec.js +++ b/jstests/core/removec.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Sanity test for removing documents with adjacent index keys. SERVER-2008 t = db.jstests_removec; diff --git a/jstests/core/rename.js b/jstests/core/rename.js index 5ec405d025a..63f1fbefaf6 100644 --- a/jstests/core/rename.js +++ b/jstests/core/rename.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + admin = db.getMongo().getDB("admin"); a = db.jstests_rename_a; diff --git a/jstests/core/rename2.js b/jstests/core/rename2.js index efbc943ce4f..d774553e9b9 100644 --- a/jstests/core/rename2.js +++ b/jstests/core/rename2.js @@ -1,4 +1,4 @@ - +// @tags: [requires_non_retryable_commands] a = db.rename2a; b = db.rename2b; diff --git a/jstests/core/rename3.js b/jstests/core/rename3.js index aa1bd986b47..632aff9aed2 100644 --- a/jstests/core/rename3.js +++ b/jstests/core/rename3.js @@ -1,4 +1,4 @@ - +// @tags: [requires_non_retryable_commands] a = db.rename3a; b = db.rename3b; diff --git a/jstests/core/rename4.js b/jstests/core/rename4.js index 185193deaa9..2879140ed5c 100644 --- a/jstests/core/rename4.js +++ b/jstests/core/rename4.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + t = db.jstests_rename4; t.drop(); diff --git a/jstests/core/rename5.js b/jstests/core/rename5.js index 313b520ed7d..357d67fc9ee 100644 --- a/jstests/core/rename5.js +++ b/jstests/core/rename5.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Check some $rename cases with a missing source. SERVER-4845 t = db.jstests_rename5; diff --git a/jstests/core/rename6.js b/jstests/core/rename6.js index cdefd20a016..bb2ab7f6f11 100644 --- a/jstests/core/rename6.js +++ b/jstests/core/rename6.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Test for SERVER-7017 // We shouldn't rename a collection when one of its indexes will generate a namespace // that is greater than 120 chars. To do this we create a long index name and try diff --git a/jstests/core/rename7.js b/jstests/core/rename7.js index 85b48c64ce7..1805461cfe1 100644 --- a/jstests/core/rename7.js +++ b/jstests/core/rename7.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // *************************************************************** // rename7.js // Test renameCollection functionality across different databases. diff --git a/jstests/core/rename8.js b/jstests/core/rename8.js index af332e30239..d0a2a2fea60 100644 --- a/jstests/core/rename8.js +++ b/jstests/core/rename8.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // SERVER-12591: prevent renaming to arbitrary system collections. var testdb = diff --git a/jstests/core/rename_stayTemp.js b/jstests/core/rename_stayTemp.js index 423e5c6e215..b31c8319d88 100644 --- a/jstests/core/rename_stayTemp.js +++ b/jstests/core/rename_stayTemp.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + orig = 'rename_stayTemp_orig'; dest = 'rename_stayTemp_dest'; diff --git a/jstests/core/repair_database.js b/jstests/core/repair_database.js index 49441dbe664..f0ca8b3892b 100644 --- a/jstests/core/repair_database.js +++ b/jstests/core/repair_database.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + /** * This tests checks that repair database works and doesn't leave the database in a bad state * 1.) Drop "repairDB" database diff --git a/jstests/core/role_management_helpers.js b/jstests/core/role_management_helpers.js index b47d87e5533..d467e2ac099 100644 --- a/jstests/core/role_management_helpers.js +++ b/jstests/core/role_management_helpers.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // This test is a basic sanity check of the shell helpers for manipulating role objects // It is not a comprehensive test of the functionality of the role manipulation commands diff --git a/jstests/core/server1470.js b/jstests/core/server1470.js index 05482017c2e..040eda4228f 100644 --- a/jstests/core/server1470.js +++ b/jstests/core/server1470.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] t = db.server1470; t.drop(); diff --git a/jstests/core/set_param1.js b/jstests/core/set_param1.js index 08f581280ed..1fbccd25f6e 100644 --- a/jstests/core/set_param1.js +++ b/jstests/core/set_param1.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Tests for accessing logLevel server parameter using getParameter/setParameter commands // and shell helpers. diff --git a/jstests/core/shell_writeconcern.js b/jstests/core/shell_writeconcern.js index 9f3fc271ce2..6d3680dee83 100644 --- a/jstests/core/shell_writeconcern.js +++ b/jstests/core/shell_writeconcern.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, cannot_inject_read_write_concern] "use strict"; // check that shell writeconcern work correctly diff --git a/jstests/core/show_record_id.js b/jstests/core/show_record_id.js index 32fab6828a9..b82cb5c8f55 100644 --- a/jstests/core/show_record_id.js +++ b/jstests/core/show_record_id.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Sanity check for the showRecordId option. var t = db.show_record_id; diff --git a/jstests/core/snapshot_queries.js b/jstests/core/snapshot_queries.js index e4aec435b10..33e50dc60fe 100644 --- a/jstests/core/snapshot_queries.js +++ b/jstests/core/snapshot_queries.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore, requires_non_retryable_writes] + // Regression test for edge cases in which .snapshot() queries could historically miss documents or // return the same document twice. (function() { diff --git a/jstests/core/sort7.js b/jstests/core/sort7.js index 4377cd5d17b..efb94304532 100644 --- a/jstests/core/sort7.js +++ b/jstests/core/sort7.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Check sorting of array sub field SERVER-480. t = db.jstests_sort7; diff --git a/jstests/core/sort_array.js b/jstests/core/sort_array.js index d432bae538c..bdec23fe4ea 100644 --- a/jstests/core/sort_array.js +++ b/jstests/core/sort_array.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_writes] + /** * Tests for sorting documents by fields that contain arrays. */ diff --git a/jstests/core/sortd.js b/jstests/core/sortd.js index 7012915f3ca..832d73d1939 100644 --- a/jstests/core/sortd.js +++ b/jstests/core/sortd.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test sorting with dups and multiple candidate query plans. t = db.jstests_sortd; diff --git a/jstests/core/sortf.js b/jstests/core/sortf.js index 1cd3449aa4f..4af92cddbae 100644 --- a/jstests/core/sortf.js +++ b/jstests/core/sortf.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Unsorted plan on {a:1}, sorted plan on {b:1}. The unsorted plan exhausts its memory limit before // the sorted plan is chosen by the query optimizer. diff --git a/jstests/core/sortg.js b/jstests/core/sortg.js index 7cdf308444d..2315828ad65 100644 --- a/jstests/core/sortg.js +++ b/jstests/core/sortg.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of extra shard key index in sharded // collection. -// @tags: [assumes_no_implicit_index_creation] +// @tags: [assumes_no_implicit_index_creation, requires_getmore] // Test that a memory exception is triggered for in memory sorts, but not for indexed sorts. diff --git a/jstests/core/sortk.js b/jstests/core/sortk.js index 76c381681eb..55c64cfb6e2 100644 --- a/jstests/core/sortk.js +++ b/jstests/core/sortk.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // End-to-end testing for index scan explosion + merge sort. // SERVER-5063 and SERVER-1205. t = db.jstests_sortk; diff --git a/jstests/core/stages_and_hash.js b/jstests/core/stages_and_hash.js index 14b00a46e73..512ca9bcb38 100644 --- a/jstests/core/stages_and_hash.js +++ b/jstests/core/stages_and_hash.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + t = db.stages_and_hashed; t.drop(); diff --git a/jstests/core/stages_and_sorted.js b/jstests/core/stages_and_sorted.js index 50e79ce9ea8..0df186f0f2b 100644 --- a/jstests/core/stages_and_sorted.js +++ b/jstests/core/stages_and_sorted.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + t = db.stages_and_sorted; t.drop(); var collname = "stages_and_sorted"; diff --git a/jstests/core/stages_collection_scan.js b/jstests/core/stages_collection_scan.js index 47fb6edbdde..df9612947be 100644 --- a/jstests/core/stages_collection_scan.js +++ b/jstests/core/stages_collection_scan.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test basic query stage collection scan functionality. t = db.stages_collection_scan; t.drop(); diff --git a/jstests/core/stages_delete.js b/jstests/core/stages_delete.js index f8e7380c75a..1d33d778acc 100644 --- a/jstests/core/stages_delete.js +++ b/jstests/core/stages_delete.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test basic delete stage functionality. var coll = db.stages_delete; var collScanStage = {cscan: {args: {direction: 1}, filter: {deleteMe: true}}}; diff --git a/jstests/core/stages_fetch.js b/jstests/core/stages_fetch.js index 02dffa929f9..a2c826739cc 100644 --- a/jstests/core/stages_fetch.js +++ b/jstests/core/stages_fetch.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test basic fetch functionality. t = db.stages_fetch; t.drop(); diff --git a/jstests/core/stages_ixscan.js b/jstests/core/stages_ixscan.js index 09c5480bd67..9eb6d9ebfbc 100644 --- a/jstests/core/stages_ixscan.js +++ b/jstests/core/stages_ixscan.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test basic query stage index scan functionality. t = db.stages_ixscan; t.drop(); diff --git a/jstests/core/stages_limit_skip.js b/jstests/core/stages_limit_skip.js index 7cd98c1c931..eec25de69ff 100644 --- a/jstests/core/stages_limit_skip.js +++ b/jstests/core/stages_limit_skip.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test limit and skip t = db.stages_limit_skip; t.drop(); diff --git a/jstests/core/stages_mergesort.js b/jstests/core/stages_mergesort.js index 4ebda2547c4..670efbb18d6 100644 --- a/jstests/core/stages_mergesort.js +++ b/jstests/core/stages_mergesort.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test query stage merge sorting. t = db.stages_mergesort; t.drop(); diff --git a/jstests/core/stages_or.js b/jstests/core/stages_or.js index e8616fcbcaa..c5305e3ee37 100644 --- a/jstests/core/stages_or.js +++ b/jstests/core/stages_or.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test basic OR functionality t = db.stages_or; t.drop(); diff --git a/jstests/core/stages_text.js b/jstests/core/stages_text.js index d38ef316663..0abe8b82007 100644 --- a/jstests/core/stages_text.js +++ b/jstests/core/stages_text.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns] + // Test very basic functionality of text stage t = db.stages_text; diff --git a/jstests/core/storefunc.js b/jstests/core/storefunc.js index 8598e9cc62b..960763753ed 100644 --- a/jstests/core/storefunc.js +++ b/jstests/core/storefunc.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands, requires_non_retryable_writes] + // Use a private sister database to avoid conflicts with other tests that use system.js var testdb = db.getSisterDB("storefunc"); var res; diff --git a/jstests/core/system_profile.js b/jstests/core/system_profile.js index 0e3cacb030c..20919512be8 100644 --- a/jstests/core/system_profile.js +++ b/jstests/core/system_profile.js @@ -1,3 +1,6 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_commands, +// requires_non_retryable_writes] + // Test various user operations against "system.profile" collection. SERVER-18111. var testDB = db.getSiblingDB("system_profile"); diff --git a/jstests/core/tailable_cursor_invalidation.js b/jstests/core/tailable_cursor_invalidation.js index 18c85f902d9..e9e29e8a24a 100644 --- a/jstests/core/tailable_cursor_invalidation.js +++ b/jstests/core/tailable_cursor_invalidation.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Tests for the behavior of tailable cursors when a collection is dropped or the cursor is // otherwise invalidated. (function() { diff --git a/jstests/core/tailable_getmore_batch_size.js b/jstests/core/tailable_getmore_batch_size.js index be3e21f0a67..212eae5576d 100644 --- a/jstests/core/tailable_getmore_batch_size.js +++ b/jstests/core/tailable_getmore_batch_size.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Tests for the behavior of combining the tailable and awaitData options to the getMore command // with the batchSize option. (function() { diff --git a/jstests/core/tailable_skip_limit.js b/jstests/core/tailable_skip_limit.js index c7b1ce4c926..8aa39e54e8a 100644 --- a/jstests/core/tailable_skip_limit.js +++ b/jstests/core/tailable_skip_limit.js @@ -1,3 +1,5 @@ +// @tags: [requires_getmore] + // Test that tailable cursors work correctly with skip and limit. (function() { "use strict"; diff --git a/jstests/core/temp_cleanup.js b/jstests/core/temp_cleanup.js index 895f7c5f8b9..75b6952d824 100644 --- a/jstests/core/temp_cleanup.js +++ b/jstests/core/temp_cleanup.js @@ -1,3 +1,4 @@ +// @tags: [does_not_support_stepdowns] mydb = db.getSisterDB("temp_cleanup_test"); diff --git a/jstests/core/type3.js b/jstests/core/type3.js index fce2b03f6c4..1cbf5f456b4 100644 --- a/jstests/core/type3.js +++ b/jstests/core/type3.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Check query type bracketing SERVER-3222 t = db.jstests_type3; diff --git a/jstests/core/type_array.js b/jstests/core/type_array.js index a131df90367..49ebf26764e 100644 --- a/jstests/core/type_array.js +++ b/jstests/core/type_array.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + /** * Tests for the array-related behavior of the $type query operator. */ diff --git a/jstests/core/update7.js b/jstests/core/update7.js index 3908c0786d3..cb15f211d63 100644 --- a/jstests/core/update7.js +++ b/jstests/core/update7.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] t = db.update7; t.drop(); diff --git a/jstests/core/update_arrayFilters.js b/jstests/core/update_arrayFilters.js index c8584db5c1e..e1457f7f809 100644 --- a/jstests/core/update_arrayFilters.js +++ b/jstests/core/update_arrayFilters.js @@ -1,6 +1,6 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_writes] // Tests for the arrayFilters option to update and findAndModify. (function() { diff --git a/jstests/core/update_arraymatch2.js b/jstests/core/update_arraymatch2.js index ede1e0ad69a..7f51bb0f32a 100644 --- a/jstests/core/update_arraymatch2.js +++ b/jstests/core/update_arraymatch2.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + t = db.update_arraymatch2; t.drop(); diff --git a/jstests/core/update_arraymatch3.js b/jstests/core/update_arraymatch3.js index 5fe2c4a1f16..3a232bdfc54 100644 --- a/jstests/core/update_arraymatch3.js +++ b/jstests/core/update_arraymatch3.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.update_arraymatch3; t.drop(); diff --git a/jstests/core/update_arraymatch5.js b/jstests/core/update_arraymatch5.js index 39768c8d2c5..16d215fe33b 100644 --- a/jstests/core/update_arraymatch5.js +++ b/jstests/core/update_arraymatch5.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.update_arraymatch5; t.drop(); diff --git a/jstests/core/update_arraymatch7.js b/jstests/core/update_arraymatch7.js index 3ad475f291c..4ee9ed26f7c 100644 --- a/jstests/core/update_arraymatch7.js +++ b/jstests/core/update_arraymatch7.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Check that the positional operator works properly when an index only match is used for the update // query spec. SERVER-5067 diff --git a/jstests/core/update_bit_examples.js b/jstests/core/update_bit_examples.js index 850d64ced5b..6545751aacd 100644 --- a/jstests/core/update_bit_examples.js +++ b/jstests/core/update_bit_examples.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Basic examples for $bit var res; diff --git a/jstests/core/update_currentdate_examples.js b/jstests/core/update_currentdate_examples.js index 62ee0220e7d..9cde5cad16e 100644 --- a/jstests/core/update_currentdate_examples.js +++ b/jstests/core/update_currentdate_examples.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Basic examples for $currentDate var res; diff --git a/jstests/core/update_modifier_pop.js b/jstests/core/update_modifier_pop.js index b5eda4ca543..c74d7f254bf 100644 --- a/jstests/core/update_modifier_pop.js +++ b/jstests/core/update_modifier_pop.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + (function() { "use strict"; diff --git a/jstests/core/update_mul_examples.js b/jstests/core/update_mul_examples.js index 484c6f7456a..831bd257380 100644 --- a/jstests/core/update_mul_examples.js +++ b/jstests/core/update_mul_examples.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Basic examples for $mul (multiply) var res; diff --git a/jstests/core/update_multi3.js b/jstests/core/update_multi3.js index 10e639803b5..0077bfefead 100644 --- a/jstests/core/update_multi3.js +++ b/jstests/core/update_multi3.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.update_multi3; diff --git a/jstests/core/update_multi4.js b/jstests/core/update_multi4.js index 3b5c2f04b29..d2030c5dc4b 100644 --- a/jstests/core/update_multi4.js +++ b/jstests/core/update_multi4.js @@ -1,3 +1,4 @@ +// @tags: [requires_non_retryable_writes] t = db.update_mulit4; t.drop(); diff --git a/jstests/core/update_multi5.js b/jstests/core/update_multi5.js index e610462a620..6c3ae9265a8 100644 --- a/jstests/core/update_multi5.js +++ b/jstests/core/update_multi5.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // tests that $addToSet works in a multi-update. (function() { "use strict"; diff --git a/jstests/core/update_multi6.js b/jstests/core/update_multi6.js index 57e8112031c..023398534cd 100644 --- a/jstests/core/update_multi6.js +++ b/jstests/core/update_multi6.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + var res; t = db.update_multi6; diff --git a/jstests/core/updatef.js b/jstests/core/updatef.js index 6bc8df4e0c1..78c7e6173c7 100644 --- a/jstests/core/updatef.js +++ b/jstests/core/updatef.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands, requires_non_retryable_writes] + // Test unsafe management of nsdt on update command yield SERVER-3208 prefixNS = db.jstests_updatef; diff --git a/jstests/core/updatei.js b/jstests/core/updatei.js index 54979313195..dea5b13cd17 100644 --- a/jstests/core/updatei.js +++ b/jstests/core/updatei.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Test new (optional) update syntax // SERVER-4176 diff --git a/jstests/core/updatej.js b/jstests/core/updatej.js index 378a29e4573..2c4f6246f11 100644 --- a/jstests/core/updatej.js +++ b/jstests/core/updatej.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test that update validation failure terminates the update without modifying subsequent // documents. SERVER-4779 diff --git a/jstests/core/updatel.js b/jstests/core/updatel.js index 78bd9b252dc..6eebd35a150 100644 --- a/jstests/core/updatel.js +++ b/jstests/core/updatel.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // The positional operator allows an update modifier field path to contain a sentinel ('$') path // part that is replaced with the numeric position of an array element matched by the update's query // spec. <http://dochub.mongodb.org/core/positionaloperator> diff --git a/jstests/core/updatem.js b/jstests/core/updatem.js index 011a33295db..92625954f8b 100644 --- a/jstests/core/updatem.js +++ b/jstests/core/updatem.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] // Tests that _id will exist in all updated docs. diff --git a/jstests/core/upsert_and.js b/jstests/core/upsert_and.js index 955b855d525..111dc140b8f 100644 --- a/jstests/core/upsert_and.js +++ b/jstests/core/upsert_and.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // tests to ensure fields in $and conditions are created when using the query to do upsert var res; diff --git a/jstests/core/user_management_helpers.js b/jstests/core/user_management_helpers.js index 5069d6dac74..59aba33e8c9 100644 --- a/jstests/core/user_management_helpers.js +++ b/jstests/core/user_management_helpers.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // This test is a basic sanity check of the shell helpers for manipulating user objects // It is not a comprehensive test of the functionality of the user manipulation commands function assertHasRole(rolesArray, roleName, roleDB) { diff --git a/jstests/core/validate_user_documents.js b/jstests/core/validate_user_documents.js index 676c47a301f..7a523a75183 100644 --- a/jstests/core/validate_user_documents.js +++ b/jstests/core/validate_user_documents.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + // Ensure that inserts and updates of the system.users collection validate the schema of inserted // documents. diff --git a/jstests/core/verify_update_mods.js b/jstests/core/verify_update_mods.js index 9f55f2f08e5..134668e62bd 100644 --- a/jstests/core/verify_update_mods.js +++ b/jstests/core/verify_update_mods.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // Verify update mods exist var res; diff --git a/jstests/core/views/duplicate_ns.js b/jstests/core/views/duplicate_ns.js index d4d15125f63..1053226e2d4 100644 --- a/jstests/core/views/duplicate_ns.js +++ b/jstests/core/views/duplicate_ns.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // Test the creation of view with a duplicate name to a collection. (function() { diff --git a/jstests/core/views/invalid_system_views.js b/jstests/core/views/invalid_system_views.js index 977e31201d2..f1b734e92ea 100644 --- a/jstests/core/views/invalid_system_views.js +++ b/jstests/core/views/invalid_system_views.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands, requires_non_retryable_writes] + /** * Tests that invalid view definitions in system.views do not impact valid commands on existing * collections. diff --git a/jstests/core/views/views_aggregation.js b/jstests/core/views/views_aggregation.js index 202a9cff34c..f7dd303d904 100644 --- a/jstests/core/views/views_aggregation.js +++ b/jstests/core/views/views_aggregation.js @@ -1,6 +1,7 @@ /** * Tests aggregation on views for proper pipeline concatenation and semantics. - * @tags: [requires_find_command] + * @tags: [requires_find_command, does_not_support_stepdowns, requires_getmore, + * requires_non_retryable_commands] */ (function() { "use strict"; diff --git a/jstests/core/views/views_all_commands.js b/jstests/core/views/views_all_commands.js index c4775c0a7b3..e94a0d535b2 100644 --- a/jstests/core/views/views_all_commands.js +++ b/jstests/core/views/views_all_commands.js @@ -1,3 +1,6 @@ +// @tags: [does_not_support_stepdowns, requires_getmore, requires_non_retryable_commands, +// requires_non_retryable_writes] + /* * Declaratively-defined tests for views for all database commands. This file contains a map of test * definitions as well as code to run them. diff --git a/jstests/core/views/views_change.js b/jstests/core/views/views_change.js index 483401ecae8..c8035642ddf 100644 --- a/jstests/core/views/views_change.js +++ b/jstests/core/views/views_change.js @@ -1,6 +1,6 @@ /** * Tests the behavior of views when the backing view or collection is changed. - * @tags: [requires_find_command] + * @tags: [requires_find_command, requires_non_retryable_commands] */ (function() { "use strict"; diff --git a/jstests/core/views/views_collation.js b/jstests/core/views/views_collation.js index 883e05ac5e5..e63f348d4f2 100644 --- a/jstests/core/views/views_collation.js +++ b/jstests/core/views/views_collation.js @@ -1,3 +1,5 @@ +// @tags: [does_not_support_stepdowns, requires_non_retryable_commands] + /** * Tests the behavior of operations when interacting with a view's default collation. */ diff --git a/jstests/core/views/views_find.js b/jstests/core/views/views_find.js index bfd7cbcbd98..18e084b8186 100644 --- a/jstests/core/views/views_find.js +++ b/jstests/core/views/views_find.js @@ -1,6 +1,6 @@ /** * Tests the find command on views. - * @tags: [requires_find_command] + * @tags: [requires_find_command, requires_getmore] */ (function() { "use strict"; diff --git a/jstests/core/views/views_rename.js b/jstests/core/views/views_rename.js index 0ea5f47c1e8..63a87a1d61d 100644 --- a/jstests/core/views/views_rename.js +++ b/jstests/core/views/views_rename.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + (function() { // SERVER-30406 Test that renaming system.views correctly invalidates the view catalog 'use strict'; diff --git a/jstests/core/views/views_validation.js b/jstests/core/views/views_validation.js index dbd291f58e5..a0e02d0b2c7 100644 --- a/jstests/core/views/views_validation.js +++ b/jstests/core/views/views_validation.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_commands] + (function() { "use strict"; let viewsDb = db.getSiblingDB("views_validation"); diff --git a/jstests/core/where4.js b/jstests/core/where4.js index 3db37ae6fe5..df2f01a498e 100644 --- a/jstests/core/where4.js +++ b/jstests/core/where4.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + var myDB = db.getSiblingDB("where4"); myDB.dropDatabase(); diff --git a/jstests/core/write_commands_reject_unknown_fields.js b/jstests/core/write_commands_reject_unknown_fields.js index cde7bf318fd..d21cf2ed9f3 100644 --- a/jstests/core/write_commands_reject_unknown_fields.js +++ b/jstests/core/write_commands_reject_unknown_fields.js @@ -1,3 +1,5 @@ +// @tags: [requires_non_retryable_writes] + // SERVER-23129 Write commands should reject unknown fields. This is run in passthrough tests to // ensure that both mongos and mongod reject these commands. (function() { diff --git a/jstests/core/write_result.js b/jstests/core/write_result.js index 17c86e7719f..9ccef44458d 100644 --- a/jstests/core/write_result.js +++ b/jstests/core/write_result.js @@ -1,7 +1,7 @@ // Cannot implicitly shard accessed collections because of following errmsg: A single // update/delete on a sharded collection must contain an exact match on _id or contain the shard // key. -// @tags: [assumes_unsharded_collection] +// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] // // Tests the behavior of single writes using write commands |