diff options
Diffstat (limited to 'jstests')
486 files changed, 1653 insertions, 281 deletions
diff --git a/jstests/core/SERVER-23626.js b/jstests/core/SERVER-23626.js index 31f963bd313..16eea298e55 100644 --- a/jstests/core/SERVER-23626.js +++ b/jstests/core/SERVER-23626.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ (function() { "use strict"; diff --git a/jstests/core/add_skip_stage_before_fetch.js b/jstests/core/add_skip_stage_before_fetch.js index 846cab46e1f..6bbefdb881f 100644 --- a/jstests/core/add_skip_stage_before_fetch.js +++ b/jstests/core/add_skip_stage_before_fetch.js @@ -3,7 +3,11 @@ // The skip operation in a sharded query always occurs in the mongoS, so this test doesn't make // sense on a sharded collection. -// @tags: [assumes_unsharded_collection, operations_longer_than_stepdown_interval_in_txns] +// @tags: [ +// assumes_unsharded_collection, +// operations_longer_than_stepdown_interval_in_txns, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/agg_hint.js b/jstests/core/agg_hint.js index 10b3c6192d8..c6eea5159dc 100644 --- a/jstests/core/agg_hint.js +++ b/jstests/core/agg_hint.js @@ -1,6 +1,10 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop, does_not_support_stepdowns] +// @tags: [ +// assumes_no_implicit_collection_creation_after_drop, +// does_not_support_stepdowns, +// sbe_incompatible, +// ] // 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/all2.js b/jstests/core/all2.js index 4842460c4db..c6b4170a7ff 100644 --- a/jstests/core/all2.js +++ b/jstests/core/all2.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.all2; t.drop(); diff --git a/jstests/core/all4.js b/jstests/core/all4.js index eb979289496..51773cbd542 100644 --- a/jstests/core/all4.js +++ b/jstests/core/all4.js @@ -1,4 +1,7 @@ // Test $all/$elemMatch with missing field - SERVER-4492 +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_all4; t.drop(); diff --git a/jstests/core/and3.js b/jstests/core/and3.js index 942b04844a9..6fd8e63d910 100644 --- a/jstests/core/and3.js +++ b/jstests/core/and3.js @@ -1,8 +1,9 @@ // Check key match with sub matchers - part of SERVER-3192 // @tags: [ -// # Uses $where operator -// requires_scripting, -// assumes_balancer_off +// assumes_balancer_off, +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.jstests_and3; diff --git a/jstests/core/andor.js b/jstests/core/andor.js index fb1ee98a448..36e0ff3177d 100644 --- a/jstests/core/andor.js +++ b/jstests/core/andor.js @@ -1,4 +1,7 @@ // SERVER-1089 Test and/or nesting +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_andor; t.drop(); diff --git a/jstests/core/array4.js b/jstests/core/array4.js index fe131a04ca9..556fd3c2717 100644 --- a/jstests/core/array4.js +++ b/jstests/core/array4.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.array4; t.drop(); diff --git a/jstests/core/array_comparison_correctness.js b/jstests/core/array_comparison_correctness.js index 5fb1e6bad0e..6a44a7298f5 100644 --- a/jstests/core/array_comparison_correctness.js +++ b/jstests/core/array_comparison_correctness.js @@ -2,6 +2,9 @@ * Demonstrate the expected behavior of $lt and $gt comparisons involving arrays. This is only * tested without an index, results between index and non-index behavior are compared in * array_index_and_nonIndex_consistent.js + * @tags: [ + * sbe_incompatible, + * ] */ (function() { diff --git a/jstests/core/array_index_and_nonIndex_consistent.js b/jstests/core/array_index_and_nonIndex_consistent.js index 4e57b73286d..7846032c21a 100644 --- a/jstests/core/array_index_and_nonIndex_consistent.js +++ b/jstests/core/array_index_and_nonIndex_consistent.js @@ -1,6 +1,9 @@ /** * Make sure that $gt and $lt queries return the same results regardless of whether there is a * multikey index. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { diff --git a/jstests/core/array_match1.js b/jstests/core/array_match1.js index 9923677b8df..7f4b7593dd6 100644 --- a/jstests/core/array_match1.js +++ b/jstests/core/array_match1.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.array_match1; t.drop(); diff --git a/jstests/core/array_match4.js b/jstests/core/array_match4.js index 821e9a4f4eb..c2de10ceff7 100644 --- a/jstests/core/array_match4.js +++ b/jstests/core/array_match4.js @@ -8,6 +8,9 @@ var query_gte = {a: {$gte: [1, 2]}}; // // without index // +// @tags: [ +// sbe_incompatible, +// ] assert.eq(1, t.find({a: [1, 2]}).count(), '$eq (without index)'); assert.eq(1, t.find(query_gte).itcount(), '$gte (without index)'); diff --git a/jstests/core/arrayfind1.js b/jstests/core/arrayfind1.js index e773eea24d6..6a129a6f805 100644 --- a/jstests/core/arrayfind1.js +++ b/jstests/core/arrayfind1.js @@ -1,4 +1,7 @@ -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] t = db.arrayfind1; t.drop(); diff --git a/jstests/core/arrayfind3.js b/jstests/core/arrayfind3.js index 07fbc3670d5..21974e834c5 100644 --- a/jstests/core/arrayfind3.js +++ b/jstests/core/arrayfind3.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.arrayfind3; t.drop(); diff --git a/jstests/core/arrayfind4.js b/jstests/core/arrayfind4.js index 545f9e9acac..45edac7c595 100644 --- a/jstests/core/arrayfind4.js +++ b/jstests/core/arrayfind4.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Test query empty array SERVER-2258 diff --git a/jstests/core/arrayfind5.js b/jstests/core/arrayfind5.js index 3fba886b83a..9f8800a0c69 100644 --- a/jstests/core/arrayfind5.js +++ b/jstests/core/arrayfind5.js @@ -1,4 +1,7 @@ // Test indexed elemmatch of missing field. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_arrayfind5; t.drop(); diff --git a/jstests/core/arrayfind8.js b/jstests/core/arrayfind8.js index 87a3a8d701a..8800739925d 100644 --- a/jstests/core/arrayfind8.js +++ b/jstests/core/arrayfind8.js @@ -1,6 +1,9 @@ /** * Matching behavior for $elemMatch applied to a top level element. * Includes tests for bugs described in SERVER-1264 and SERVER-4180. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/arrayfind9.js b/jstests/core/arrayfind9.js index 98396701dce..32c9c044d8d 100644 --- a/jstests/core/arrayfind9.js +++ b/jstests/core/arrayfind9.js @@ -1,4 +1,7 @@ // Assorted $elemMatch behavior checks. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_arrayfind9; t.drop(); diff --git a/jstests/core/arrayfinda.js b/jstests/core/arrayfinda.js index f2939d0c1ba..eb7cc06470c 100644 --- a/jstests/core/arrayfinda.js +++ b/jstests/core/arrayfinda.js @@ -1,4 +1,7 @@ // Assorted $elemMatch matching behavior checks. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_arrayfinda; t.drop(); diff --git a/jstests/core/arrayfindb.js b/jstests/core/arrayfindb.js index 483e1e46134..c9456509487 100644 --- a/jstests/core/arrayfindb.js +++ b/jstests/core/arrayfindb.js @@ -1,4 +1,7 @@ // Test $elemMatch object with complex embedded expressions. +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_arrayfindb; t.drop(); diff --git a/jstests/core/awaitdata_getmore_cmd.js b/jstests/core/awaitdata_getmore_cmd.js index fae96fbdc91..93a9106e2e8 100644 --- a/jstests/core/awaitdata_getmore_cmd.js +++ b/jstests/core/awaitdata_getmore_cmd.js @@ -7,6 +7,7 @@ // assumes_read_preference_unchanged, // requires_capped, // requires_getmore, +// sbe_incompatible, // uses_multiple_connections, // uses_parallel_shell, // ] diff --git a/jstests/core/basic2.js b/jstests/core/basic2.js index 4d854d4b1ea..a4ed5905291 100644 --- a/jstests/core/basic2.js +++ b/jstests/core/basic2.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_fastcount, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] t = db.getCollection("basic2"); t.drop(); diff --git a/jstests/core/batch_size.js b/jstests/core/batch_size.js index ac7e1177c41..11ea9cd2380 100644 --- a/jstests/core/batch_size.js +++ b/jstests/core/batch_size.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// requires_getmore, +// sbe_incompatible, +// ] // Test subtleties of batchSize and limit. diff --git a/jstests/core/bindata_indexonly.js b/jstests/core/bindata_indexonly.js index f0d645db7e7..566ccb9369e 100644 --- a/jstests/core/bindata_indexonly.js +++ b/jstests/core/bindata_indexonly.js @@ -2,6 +2,9 @@ * This test ensures that range predicates with a BinData value: * 1) Return the correct documents. * 2) Can perform index-only data access. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/bittest.js b/jstests/core/bittest.js index 1ac5ddbe59b..b23b2aa6821 100644 --- a/jstests/core/bittest.js +++ b/jstests/core/bittest.js @@ -1,5 +1,8 @@ /** * This test ensures that bit test query operators work. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/bulk_insert_capped.js b/jstests/core/bulk_insert_capped.js index 5a8bd2ed864..672b3325e47 100644 --- a/jstests/core/bulk_insert_capped.js +++ b/jstests/core/bulk_insert_capped.js @@ -1,8 +1,9 @@ // @tags: [ -// requires_capped, -// # Cannot implicitly shard accessed collections because of collection existing when none -// # expected. -// assumes_no_implicit_collection_creation_after_drop, +// # Cannot implicitly shard accessed collections because of collection existing when none +// # expected. +// assumes_no_implicit_collection_creation_after_drop, +// requires_capped, +// sbe_incompatible, // ] // SERVER-21488 Test that multi inserts into capped collections don't cause corruption. diff --git a/jstests/core/bypass_doc_validation.js b/jstests/core/bypass_doc_validation.js index f44ede8bc56..6016017bfb1 100644 --- a/jstests/core/bypass_doc_validation.js +++ b/jstests/core/bypass_doc_validation.js @@ -1,10 +1,11 @@ // @tags: [ // does_not_support_stepdowns, // requires_fastcount, +// requires_fcv_47, // requires_non_retryable_commands, +// sbe_incompatible, // uses_$out, // uses_map_reduce_with_temp_collections, -// requires_fcv_47, // ] /** diff --git a/jstests/core/collation.js b/jstests/core/collation.js index 0d9b6fbba31..272fcaedefd 100644 --- a/jstests/core/collation.js +++ b/jstests/core/collation.js @@ -3,9 +3,10 @@ // @tags: [ // assumes_no_implicit_collection_creation_after_drop, // does_not_support_stepdowns, +// requires_capped, // requires_non_retryable_commands, // requires_non_retryable_writes, -// requires_capped, +// sbe_incompatible, // ] // Integration tests for the collation feature. diff --git a/jstests/core/collation_plan_cache.js b/jstests/core/collation_plan_cache.js index 50e6921c91b..274d5fffdae 100644 --- a/jstests/core/collation_plan_cache.js +++ b/jstests/core/collation_plan_cache.js @@ -8,6 +8,7 @@ // assumes_read_preference_unchanged, // assumes_unsharded_collection, // does_not_support_stepdowns, +// sbe_incompatible, // ] (function() { 'use strict'; diff --git a/jstests/core/command_let_variables.js b/jstests/core/command_let_variables.js index 38fe91d6aec..3d478a08bc7 100644 --- a/jstests/core/command_let_variables.js +++ b/jstests/core/command_let_variables.js @@ -1,6 +1,9 @@ // Tests that commands like find, aggregate and update accepts a 'let' parameter which defines // variables for use in expressions within the command. -// @tags: [requires_fcv_47] +// @tags: [ +// requires_fcv_47, +// sbe_incompatible, +// ] // (function() { "use strict"; diff --git a/jstests/core/comment_field.js b/jstests/core/comment_field.js index 60345f10ad5..0b810dba2bd 100644 --- a/jstests/core/comment_field.js +++ b/jstests/core/comment_field.js @@ -8,6 +8,7 @@ * assumes_write_concern_unchanged, * does_not_support_stepdowns, * requires_profiling, + * sbe_incompatible, * uses_parallel_shell, * ] */ diff --git a/jstests/core/constructors.js b/jstests/core/constructors.js index 308baf405fd..f574904d8a0 100644 --- a/jstests/core/constructors.js +++ b/jstests/core/constructors.js @@ -3,6 +3,7 @@ // @tags: [ // does_not_support_stepdowns, // requires_non_retryable_commands, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] diff --git a/jstests/core/contained_or_with_nested_or.js b/jstests/core/contained_or_with_nested_or.js index 7407498e1ce..b9645f6c185 100644 --- a/jstests/core/contained_or_with_nested_or.js +++ b/jstests/core/contained_or_with_nested_or.js @@ -1,4 +1,7 @@ // This test was designed to reproduce a memory leak that was fixed by SERVER-35455. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/coveredIndex1.js b/jstests/core/coveredIndex1.js index a4c614a2b1c..96f5e0c9113 100644 --- a/jstests/core/coveredIndex1.js +++ b/jstests/core/coveredIndex1.js @@ -4,7 +4,10 @@ * This test cannot implicitly shard accessed collections because queries on a sharded collection * cannot be covered when they aren't on the shard key since the document needs to be fetched in * order to apply the SHARDING_FILTER stage. - * @tags: [assumes_unsharded_collection] + * @tags: [ + * assumes_unsharded_collection, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/coveredIndex2.js b/jstests/core/coveredIndex2.js index 39a48dd3e0d..9ec3ce529ae 100644 --- a/jstests/core/coveredIndex2.js +++ b/jstests/core/coveredIndex2.js @@ -1,7 +1,11 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection, requires_fastcount] +// @tags: [ +// assumes_unsharded_collection, +// requires_fastcount, +// sbe_incompatible, +// ] t = db["jstests_coveredIndex2"]; t.drop(); diff --git a/jstests/core/coveredIndex3.js b/jstests/core/coveredIndex3.js index a054840b6df..13bade7b6ee 100644 --- a/jstests/core/coveredIndex3.js +++ b/jstests/core/coveredIndex3.js @@ -1,6 +1,7 @@ // Check proper covered index handling when query and processGetMore yield. // SERVER-4975 // @tags: [ +// sbe_incompatible, // uses_parallel_shell, // ] diff --git a/jstests/core/coveredIndex4.js b/jstests/core/coveredIndex4.js index 1f03c387f3b..125cf22da3a 100644 --- a/jstests/core/coveredIndex4.js +++ b/jstests/core/coveredIndex4.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // Test covered index projection with $or clause, specifically in getMore // SERVER-4980 diff --git a/jstests/core/covered_index_compound_1.js b/jstests/core/covered_index_compound_1.js index 79b015220b5..2f2d45adabd 100644 --- a/jstests/core/covered_index_compound_1.js +++ b/jstests/core/covered_index_compound_1.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] // Compound index covered query tests diff --git a/jstests/core/covered_index_negative_1.js b/jstests/core/covered_index_negative_1.js index b78357e509d..4028b1159b2 100644 --- a/jstests/core/covered_index_negative_1.js +++ b/jstests/core/covered_index_negative_1.js @@ -4,7 +4,10 @@ // nscannedObjects > 0 // Include helpers for analyzing explain output. -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] load("jstests/libs/analyze_plan.js"); var coll = db.getCollection("covered_negative_1"); diff --git a/jstests/core/covered_index_simple_1.js b/jstests/core/covered_index_simple_1.js index 8e9bc782e1e..c49e5a2bc8e 100644 --- a/jstests/core/covered_index_simple_1.js +++ b/jstests/core/covered_index_simple_1.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] // Simple covered index query test diff --git a/jstests/core/covered_index_simple_2.js b/jstests/core/covered_index_simple_2.js index 71da45922db..67548ed8c06 100644 --- a/jstests/core/covered_index_simple_2.js +++ b/jstests/core/covered_index_simple_2.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] // Simple covered index query test with unique index diff --git a/jstests/core/covered_index_simple_3.js b/jstests/core/covered_index_simple_3.js index b53ce20d85f..5e654475252 100644 --- a/jstests/core/covered_index_simple_3.js +++ b/jstests/core/covered_index_simple_3.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] // Simple covered index query test with a unique sparse index diff --git a/jstests/core/covered_index_simple_id.js b/jstests/core/covered_index_simple_id.js index 5422ae005d0..604e8d0de76 100644 --- a/jstests/core/covered_index_simple_id.js +++ b/jstests/core/covered_index_simple_id.js @@ -1,4 +1,7 @@ -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] // Simple covered index query test // Include helpers for analyzing explain output. diff --git a/jstests/core/covered_index_sort_1.js b/jstests/core/covered_index_sort_1.js index 1a7ac940efa..4b8cea2e825 100644 --- a/jstests/core/covered_index_sort_1.js +++ b/jstests/core/covered_index_sort_1.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] // Simple covered index query test with sort diff --git a/jstests/core/covered_index_sort_2.js b/jstests/core/covered_index_sort_2.js index f531b185162..002b6ced896 100644 --- a/jstests/core/covered_index_sort_2.js +++ b/jstests/core/covered_index_sort_2.js @@ -1,5 +1,8 @@ // Simple covered index query test with sort on _id -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] // Include helpers for analyzing explain output. load("jstests/libs/analyze_plan.js"); diff --git a/jstests/core/covered_index_sort_3.js b/jstests/core/covered_index_sort_3.js index 6a62bafacd2..1107e0584dc 100644 --- a/jstests/core/covered_index_sort_3.js +++ b/jstests/core/covered_index_sort_3.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] // Compound index covered query tests with sort diff --git a/jstests/core/covered_index_sort_no_fetch_optimization.js b/jstests/core/covered_index_sort_no_fetch_optimization.js index ad2b1697359..65411894d66 100644 --- a/jstests/core/covered_index_sort_no_fetch_optimization.js +++ b/jstests/core/covered_index_sort_no_fetch_optimization.js @@ -6,9 +6,10 @@ * Queries on a sharded collection can't be covered when they aren't on the shard key. The document * must be fetched to support the SHARDING_FILTER stage. * @tags: [ - * assumes_unsharded_collection, - * # Sort optimizations added for hashed indexes in 4.7 can generate a different plan. - * requires_fcv_47 + * assumes_unsharded_collection, + * # Sort optimizations added for hashed indexes in 4.7 can generate a different plan. + * requires_fcv_47, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/covered_multikey.js b/jstests/core/covered_multikey.js index 297728545ab..692b013a074 100644 --- a/jstests/core/covered_multikey.js +++ b/jstests/core/covered_multikey.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] /** * Test covering behavior for queries over a multikey index. diff --git a/jstests/core/currentop_cursors.js b/jstests/core/currentop_cursors.js index 9cc7e37dcb2..7ae86875e6e 100644 --- a/jstests/core/currentop_cursors.js +++ b/jstests/core/currentop_cursors.js @@ -2,7 +2,12 @@ * Tests that an idle cursor will appear in the $currentOp output if the idleCursors option is * set to true. * - * @tags: [assumes_read_concern_unchanged, assumes_read_preference_unchanged, requires_capped] + * @tags: [ + * assumes_read_concern_unchanged, + * assumes_read_preference_unchanged, + * requires_capped, + * sbe_incompatible, + * ] */ (function() { diff --git a/jstests/core/cursor3.js b/jstests/core/cursor3.js index cc602d523f0..1a7e0dfcc7e 100644 --- a/jstests/core/cursor3.js +++ b/jstests/core/cursor3.js @@ -1,5 +1,8 @@ // Test inequality bounds combined with ordering for a single-field index. // BUG 1079 (fixed) +// @tags: [ +// sbe_incompatible, +// ] testNum = 1; diff --git a/jstests/core/cursor6.js b/jstests/core/cursor6.js index d373e952b2d..d2c56c00e75 100644 --- a/jstests/core/cursor6.js +++ b/jstests/core/cursor6.js @@ -1,4 +1,7 @@ // Test different directions for compound indexes +// @tags: [ +// sbe_incompatible, +// ] function eq(one, two) { assert.eq(one.a, two.a); diff --git a/jstests/core/cursora.js b/jstests/core/cursora.js index 4176e4d42fb..269458cb2c6 100644 --- a/jstests/core/cursora.js +++ b/jstests/core/cursora.js @@ -4,6 +4,7 @@ // requires_non_retryable_writes, // # Uses $where operator // requires_scripting, +// sbe_incompatible, // uses_multiple_connections, // uses_parallel_shell, // ] diff --git a/jstests/core/dbref2.js b/jstests/core/dbref2.js index 9f3cb4e2ca4..eb6abe1bf19 100644 --- a/jstests/core/dbref2.js +++ b/jstests/core/dbref2.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ a = db.dbref2a; b = db.dbref2b; c = db.dbref2c; diff --git a/jstests/core/dbref3.js b/jstests/core/dbref3.js index 6a91a56da2a..41e29b36c94 100644 --- a/jstests/core/dbref3.js +++ b/jstests/core/dbref3.js @@ -1,6 +1,9 @@ // Make sure we only make a DBRef object for objects where the first field is a string named $ref // and the second field is $id with any type. Only the first two fields matter for deciding if it // is a DBRef. See http://docs.mongodb.org/manual/reference/database-references/#dbrefs. +// @tags: [ +// sbe_incompatible, +// ] var t = db.dbref3; diff --git a/jstests/core/dbref4.js b/jstests/core/dbref4.js index 0de94028e39..83751349a4d 100644 --- a/jstests/core/dbref4.js +++ b/jstests/core/dbref4.js @@ -1,6 +1,9 @@ // Fix for SERVER-32072 // // Ensures round-trippability of int ids in DBRef's after a save/restore +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/depth_limit.js b/jstests/core/depth_limit.js index b25dffa4426..89b826c749e 100644 --- a/jstests/core/depth_limit.js +++ b/jstests/core/depth_limit.js @@ -1,7 +1,8 @@ // SERVER-11781 Don't crash when converting deeply nested or cyclical JS objects to BSON. // @tags: [ -// # Uses $where operator -// requires_scripting +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] function test() { diff --git a/jstests/core/distinct3.js b/jstests/core/distinct3.js index 9106927aade..654cd8e352a 100644 --- a/jstests/core/distinct3.js +++ b/jstests/core/distinct3.js @@ -1,5 +1,6 @@ // @tags: [ // requires_non_retryable_writes, +// sbe_incompatible, // uses_multiple_connections, // uses_parallel_shell, // ] diff --git a/jstests/core/distinct_compound_index.js b/jstests/core/distinct_compound_index.js index 541ac55cb41..b453bcc2aee 100644 --- a/jstests/core/distinct_compound_index.js +++ b/jstests/core/distinct_compound_index.js @@ -1,4 +1,8 @@ -// @tags: [assumes_balancer_off, assumes_unsharded_collection] +// @tags: [ +// assumes_balancer_off, +// assumes_unsharded_collection, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/distinct_index1.js b/jstests/core/distinct_index1.js index e1cd721c7f4..8d82d56ff36 100644 --- a/jstests/core/distinct_index1.js +++ b/jstests/core/distinct_index1.js @@ -1,6 +1,9 @@ /** * Analyzes execution stats for indexed distinct. - * @tags: [assumes_balancer_off] + * @tags: [ + * assumes_balancer_off, + * sbe_incompatible, + * ] */ (function() { load("jstests/libs/analyze_plan.js"); // For getPlanStage. diff --git a/jstests/core/distinct_multikey.js b/jstests/core/distinct_multikey.js index 7208b67fb64..adea0f54601 100644 --- a/jstests/core/distinct_multikey.js +++ b/jstests/core/distinct_multikey.js @@ -1,5 +1,8 @@ /** * Tests for distinct planning and execution in the presence of multikey indexes. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/distinct_multikey_dotted_path.js b/jstests/core/distinct_multikey_dotted_path.js index 13b0b8afa5c..3447af0dfc6 100644 --- a/jstests/core/distinct_multikey_dotted_path.js +++ b/jstests/core/distinct_multikey_dotted_path.js @@ -6,7 +6,11 @@ * not another). * Doesn't support stepdowns because it runs explain() on an aggregation (which can apparently * return incomplete results). - * @tags: [assumes_unsharded_collection, does_not_support_stepdowns] + * @tags: [ + * assumes_unsharded_collection, + * does_not_support_stepdowns, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/distinct_with_hashed_index.js b/jstests/core/distinct_with_hashed_index.js index 0cd6afb5d2e..8a632cd60a0 100644 --- a/jstests/core/distinct_with_hashed_index.js +++ b/jstests/core/distinct_with_hashed_index.js @@ -6,6 +6,7 @@ * @tags: [ * assumes_unsharded_collection, * does_not_support_stepdowns, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/dotted_path_in_null.js b/jstests/core/dotted_path_in_null.js index 7c8baf42709..ac4832482a1 100644 --- a/jstests/core/dotted_path_in_null.js +++ b/jstests/core/dotted_path_in_null.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ (function() { "use strict"; diff --git a/jstests/core/elemMatchProjection.js b/jstests/core/elemMatchProjection.js index 69685f6f9e1..46cb2c85d0b 100644 --- a/jstests/core/elemMatchProjection.js +++ b/jstests/core/elemMatchProjection.js @@ -1,5 +1,6 @@ // @tags: [ // requires_getmore, +// sbe_incompatible, // ] // Tests for $elemMatch projections and $ positional operator projection. (function() { diff --git a/jstests/core/elemmatch_or_pushdown.js b/jstests/core/elemmatch_or_pushdown.js index 2edef4d0678..718b20bdbe4 100644 --- a/jstests/core/elemmatch_or_pushdown.js +++ b/jstests/core/elemmatch_or_pushdown.js @@ -1,6 +1,9 @@ /** * Tests that an $elemMatch-$or query is evaluated correctly. Designed to reproduce SERVER-33005 and * SERVER-38164. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/ensure_sorted.js b/jstests/core/ensure_sorted.js index fbdde2609df..6a037ff79c0 100644 --- a/jstests/core/ensure_sorted.js +++ b/jstests/core/ensure_sorted.js @@ -1,7 +1,11 @@ // 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, requires_getmore] +// @tags: [ +// assumes_unsharded_collection, +// requires_getmore, +// sbe_incompatible, +// ] // 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/exists.js b/jstests/core/exists.js index da8ce45a490..4d35f46b790 100644 --- a/jstests/core/exists.js +++ b/jstests/core/exists.js @@ -1,4 +1,7 @@ -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] t = db.jstests_exists; t.drop(); diff --git a/jstests/core/exists2.js b/jstests/core/exists2.js index 5d8a0d80f91..b8fb12c6613 100644 --- a/jstests/core/exists2.js +++ b/jstests/core/exists2.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.exists2; t.drop(); diff --git a/jstests/core/exists3.js b/jstests/core/exists3.js index e4ce03437bb..5b1c29be1db 100644 --- a/jstests/core/exists3.js +++ b/jstests/core/exists3.js @@ -1,4 +1,7 @@ // Check exists with non empty document, based on SERVER-2470 example. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_exists3; t.drop(); diff --git a/jstests/core/exists6.js b/jstests/core/exists6.js index 67ab7e5345d..6a8371ae0e0 100644 --- a/jstests/core/exists6.js +++ b/jstests/core/exists6.js @@ -1,4 +1,7 @@ // SERVER-393 Test indexed matching with $exists. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_exists6; t.drop(); diff --git a/jstests/core/exists9.js b/jstests/core/exists9.js index aaa7563e7df..444bcf731a1 100644 --- a/jstests/core/exists9.js +++ b/jstests/core/exists9.js @@ -1,4 +1,7 @@ // SERVER-393 Test exists with various empty array and empty object cases. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_exists9; t.drop(); diff --git a/jstests/core/existsa.js b/jstests/core/existsa.js index d1079310d71..cfcfe15c234 100644 --- a/jstests/core/existsa.js +++ b/jstests/core/existsa.js @@ -1,5 +1,8 @@ /** * Tests that sparse indexes are disallowed for $exists:false queries. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/explain1.js b/jstests/core/explain1.js index 3c7d8b9df2c..09891f214dd 100644 --- a/jstests/core/explain1.js +++ b/jstests/core/explain1.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.explain1; t.drop(); diff --git a/jstests/core/explain4.js b/jstests/core/explain4.js index fe67516fe61..06c7bf0b359 100644 --- a/jstests/core/explain4.js +++ b/jstests/core/explain4.js @@ -1,4 +1,7 @@ // Test that limit is applied by explain. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_explain4; t.drop(); diff --git a/jstests/core/explain5.js b/jstests/core/explain5.js index 03fcec4ddc6..5bae866e096 100644 --- a/jstests/core/explain5.js +++ b/jstests/core/explain5.js @@ -1,5 +1,8 @@ // Check explain results for a plan that uses an index to obtain the requested sort order. -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] t = db.jstests_explain5; t.drop(); diff --git a/jstests/core/explain6.js b/jstests/core/explain6.js index 11fa61d79e6..dbbb767531c 100644 --- a/jstests/core/explain6.js +++ b/jstests/core/explain6.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // 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 9ff556489fa..7c03d279aa3 100644 --- a/jstests/core/explain_agg_write_concern.js +++ b/jstests/core/explain_agg_write_concern.js @@ -6,6 +6,7 @@ // assumes_write_concern_unchanged, // does_not_support_stepdowns, // requires_non_retryable_commands, +// sbe_incompatible, // ] /** diff --git a/jstests/core/explain_batch_size.js b/jstests/core/explain_batch_size.js index fc4a1a6143c..14fa4e2b550 100644 --- a/jstests/core/explain_batch_size.js +++ b/jstests/core/explain_batch_size.js @@ -4,7 +4,10 @@ // also covers the use of an indexed collection and includes a couple of test cases // using limit() // -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] t = db.explain_batch_size; t.drop(); diff --git a/jstests/core/explain_distinct.js b/jstests/core/explain_distinct.js index 0499463d83c..fd5b0a606d6 100644 --- a/jstests/core/explain_distinct.js +++ b/jstests/core/explain_distinct.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] /** * This test ensures that explain on the distinct command works. diff --git a/jstests/core/explain_execution_error.js b/jstests/core/explain_execution_error.js index ec0dfba44bd..d2240452573 100644 --- a/jstests/core/explain_execution_error.js +++ b/jstests/core/explain_execution_error.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// requires_getmore, +// sbe_incompatible, +// ] // Test that even when the execution of a query fails, explain reports query // planner information. diff --git a/jstests/core/explain_find.js b/jstests/core/explain_find.js index 75d4338f943..fcf2e35053c 100644 --- a/jstests/core/explain_find.js +++ b/jstests/core/explain_find.js @@ -1,4 +1,7 @@ // Tests for explaining find through the explain command. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/explain_large_bounds.js b/jstests/core/explain_large_bounds.js index daa3bea0ffd..78f6fdec75e 100644 --- a/jstests/core/explain_large_bounds.js +++ b/jstests/core/explain_large_bounds.js @@ -1,6 +1,9 @@ /** * Make sure explain succeeds even when the index bounds are really big. - * @tags: [resource_intensive] + * @tags: [ + * resource_intensive, + * sbe_incompatible, + * ] */ (function() { const coll = db.jstests_explain_large_bounds; diff --git a/jstests/core/explain_missing_collection.js b/jstests/core/explain_missing_collection.js index c186d3015a4..c52c47bcc52 100644 --- a/jstests/core/explain_missing_collection.js +++ b/jstests/core/explain_missing_collection.js @@ -1,6 +1,9 @@ /** * Test explaining various operations against a non-existent collection. - * @tags: [assumes_no_implicit_collection_creation_after_drop] + * @tags: [ + * assumes_no_implicit_collection_creation_after_drop, + * sbe_incompatible, + * ] */ (function() { var missingColl = db.explain_null_collection; diff --git a/jstests/core/explain_missing_database.js b/jstests/core/explain_missing_database.js index a1eb89e10e4..65e5304b5a4 100644 --- a/jstests/core/explain_missing_database.js +++ b/jstests/core/explain_missing_database.js @@ -1,4 +1,7 @@ // Test explain of various operations against a non-existent database +// @tags: [ +// sbe_incompatible, +// ] (function() { var explainMissingDb = db.getSiblingDB("explainMissingDb"); diff --git a/jstests/core/explain_multi_plan.js b/jstests/core/explain_multi_plan.js index 1b2b0d6cdb6..dc8f153e6cb 100644 --- a/jstests/core/explain_multi_plan.js +++ b/jstests/core/explain_multi_plan.js @@ -1,8 +1,9 @@ // @tags: [ -// # 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. -// assumes_unsharded_collection, +// # 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. +// assumes_unsharded_collection, +// sbe_incompatible, // ] /** diff --git a/jstests/core/explain_multikey.js b/jstests/core/explain_multikey.js index e342203e503..b6588a05ee1 100644 --- a/jstests/core/explain_multikey.js +++ b/jstests/core/explain_multikey.js @@ -2,7 +2,10 @@ // // This test examines the explain output to verify that certain indexes are multi-key, which may not // be the case on all shards. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/explain_shell_helpers.js b/jstests/core/explain_shell_helpers.js index 5e62eade166..5ebbab7d311 100644 --- a/jstests/core/explain_shell_helpers.js +++ b/jstests/core/explain_shell_helpers.js @@ -6,6 +6,7 @@ * assumes_unsharded_collection, * does_not_support_stepdowns, * requires_fastcount, + * sbe_incompatible, * ] */ diff --git a/jstests/core/explain_sort_type.js b/jstests/core/explain_sort_type.js index 38165be32a2..239b08bb566 100644 --- a/jstests/core/explain_sort_type.js +++ b/jstests/core/explain_sort_type.js @@ -8,6 +8,7 @@ * assumes_unsharded_collection, * # This test uses a non-retryable multi-update command. * requires_non_retryable_writes, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/explain_validation.js b/jstests/core/explain_validation.js index 4a1dcb8e850..60c0ea1834b 100644 --- a/jstests/core/explain_validation.js +++ b/jstests/core/explain_validation.js @@ -2,7 +2,10 @@ * Tests that an unknown field in the explain command will be rejected while generic command * arguments will be permitted to pass validation. * - * @tags: [requires_fcv_47] + * @tags: [ + * requires_fcv_47, + * sbe_incompatible, + * ] */ (function() { diff --git a/jstests/core/explode_for_sort_collation.js b/jstests/core/explode_for_sort_collation.js index fcdb3629bce..68e3fe28456 100644 --- a/jstests/core/explode_for_sort_collation.js +++ b/jstests/core/explode_for_sort_collation.js @@ -1,7 +1,10 @@ /** * Tests explode for sort query planner behavior with collated queries and indexes. This is a test * for SERVER-48993. - * @tags: [requires_find_command] + * @tags: [ + * requires_find_command, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/explode_for_sort_fetch.js b/jstests/core/explode_for_sort_fetch.js index 9e295080399..cd347efdaca 100644 --- a/jstests/core/explode_for_sort_fetch.js +++ b/jstests/core/explode_for_sort_fetch.js @@ -2,8 +2,9 @@ * Tests explode for sort query planner behavior when the input query plan contains OR > FETCH > * IXSCAN, OR > IXSCAN subtrees or a mix of both. * @tags: [ - * # Does not work with legacy shellWriteMode. - * requires_find_command + * # Does not work with legacy shellWriteMode. + * requires_find_command, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/expr.js b/jstests/core/expr.js index db69ba2dc8a..05cd676cdf2 100644 --- a/jstests/core/expr.js +++ b/jstests/core/expr.js @@ -1,10 +1,11 @@ // @tags: [ // does_not_support_stepdowns, -// requires_getmore, -// requires_non_retryable_writes, // # Explain reports errors from $expr differently in 4.4 and older, so this test assumes that all // # nodes are at least binary version 4.7. // requires_fcv_47, +// requires_getmore, +// requires_non_retryable_writes, +// sbe_incompatible, // ] // Tests for $expr in the CRUD commands. diff --git a/jstests/core/expr_index_use.js b/jstests/core/expr_index_use.js index ece507f60d3..1129916dcd6 100644 --- a/jstests/core/expr_index_use.js +++ b/jstests/core/expr_index_use.js @@ -1,4 +1,7 @@ // Confirms expected index use when performing a match with a $expr statement. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/expr_or_pushdown.js b/jstests/core/expr_or_pushdown.js index e2605e08c91..5c09bb63efd 100644 --- a/jstests/core/expr_or_pushdown.js +++ b/jstests/core/expr_or_pushdown.js @@ -1,6 +1,9 @@ /** * Test that an $expr predicated which is eligible for being indexed with an $or pushdown executes * as expected. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/field_name_validation.js b/jstests/core/field_name_validation.js index 3568103e768..7d99cf8538e 100644 --- a/jstests/core/field_name_validation.js +++ b/jstests/core/field_name_validation.js @@ -7,7 +7,10 @@ * * contained in a top-level element, embedded element, and within _id. * - * @tags: [assumes_unsharded_collection] + * @tags: [ + * assumes_unsharded_collection, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/find6.js b/jstests/core/find6.js index ec683d7f68e..7edf1739c78 100644 --- a/jstests/core/find6.js +++ b/jstests/core/find6.js @@ -1,8 +1,8 @@ // @tags: [ -// requires_fastcount, -// -// # Uses $where operator -// requires_scripting, +// requires_fastcount, +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.find6; diff --git a/jstests/core/find_and_modify_server6865.js b/jstests/core/find_and_modify_server6865.js index 1e154392ea9..bdfe74f0a78 100644 --- a/jstests/core/find_and_modify_server6865.js +++ b/jstests/core/find_and_modify_server6865.js @@ -3,6 +3,7 @@ // key. // @tags: [ // assumes_unsharded_collection, +// sbe_incompatible, // ] /** diff --git a/jstests/core/find_dedup.js b/jstests/core/find_dedup.js index 791ce338c45..8c628b66734 100644 --- a/jstests/core/find_dedup.js +++ b/jstests/core/find_dedup.js @@ -1,6 +1,9 @@ // Test that duplicate query results are not returned. // -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/find_getmore_bsonsize.js b/jstests/core/find_getmore_bsonsize.js index 9a57e9ef558..cb537a88279 100644 --- a/jstests/core/find_getmore_bsonsize.js +++ b/jstests/core/find_getmore_bsonsize.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // Ensure that the find and getMore commands can handle documents nearing the 16 MB size limit for // user-stored BSON documents. diff --git a/jstests/core/find_getmore_cmd.js b/jstests/core/find_getmore_cmd.js index 248721ebbef..169efc8f166 100644 --- a/jstests/core/find_getmore_cmd.js +++ b/jstests/core/find_getmore_cmd.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // Tests that explicitly invoke the find and getMore commands. (function() { diff --git a/jstests/core/find_size.js b/jstests/core/find_size.js index 14949f0f477..bcee61b4772 100644 --- a/jstests/core/find_size.js +++ b/jstests/core/find_size.js @@ -1,4 +1,7 @@ // Tests the behavior of $size for match expressions. +// @tags [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/finda.js b/jstests/core/finda.js index 50d04fb8b2c..0f59c4c7f3b 100644 --- a/jstests/core/finda.js +++ b/jstests/core/finda.js @@ -1,5 +1,6 @@ // @tags: [ // requires_getmore, +// sbe_incompatible, // ] // Tests where the QueryOptimizerCursor enters takeover mode during a query rather than a get more. diff --git a/jstests/core/fts1.js b/jstests/core/fts1.js index b1775ff0d30..0bcd46b3f04 100644 --- a/jstests/core/fts1.js +++ b/jstests/core/fts1.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/fts2.js b/jstests/core/fts2.js index cf0b875c220..77b6fe25bd5 100644 --- a/jstests/core/fts2.js +++ b/jstests/core/fts2.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ load("jstests/libs/fts.js"); t = db.text2; diff --git a/jstests/core/fts3.js b/jstests/core/fts3.js index 64e37d95105..6a4c813744a 100644 --- a/jstests/core/fts3.js +++ b/jstests/core/fts3.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ load("jstests/libs/fts.js"); t = db.text3; diff --git a/jstests/core/fts4.js b/jstests/core/fts4.js index 13a9e73cd10..16f88a7a760 100644 --- a/jstests/core/fts4.js +++ b/jstests/core/fts4.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ load("jstests/libs/fts.js"); t = db.text4; diff --git a/jstests/core/fts5.js b/jstests/core/fts5.js index d3d6bb4de44..99cd6ce84bb 100644 --- a/jstests/core/fts5.js +++ b/jstests/core/fts5.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ load("jstests/libs/fts.js"); t = db.text5; diff --git a/jstests/core/fts6.js b/jstests/core/fts6.js index 15c537bb235..7216fc728e9 100644 --- a/jstests/core/fts6.js +++ b/jstests/core/fts6.js @@ -1,5 +1,8 @@ // SERVER-13039. Confirm that we return the right results when $text is // inside an $or. +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_fts6; t.drop(); diff --git a/jstests/core/fts_array.js b/jstests/core/fts_array.js index 93d4ba1cfb8..af2001a236c 100644 --- a/jstests/core/fts_array.js +++ b/jstests/core/fts_array.js @@ -1,5 +1,8 @@ /** * Tests for the interaction between FTS indexes and arrays. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/fts_blog.js b/jstests/core/fts_blog.js index 68cca6fa3a5..cdaba7860fc 100644 --- a/jstests/core/fts_blog.js +++ b/jstests/core/fts_blog.js @@ -7,6 +7,9 @@ t.save({_id: 3, title: "knives are Fun", text: "this is a new blog i am writing. // default weight is 1 // specify weights if you want a field to be more meaningull +// @tags: [ +// sbe_incompatible, +// ] t.ensureIndex({"title": "text", text: "text"}, {weights: {title: 10}}); res = t.find({"$text": {"$search": "blog"}}, {score: {"$meta": "textScore"}}).sort({ diff --git a/jstests/core/fts_blogwild.js b/jstests/core/fts_blogwild.js index 82cb594bab6..207fea471c1 100644 --- a/jstests/core/fts_blogwild.js +++ b/jstests/core/fts_blogwild.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] t = db.text_blogwild; t.drop(); diff --git a/jstests/core/fts_casesensitive.js b/jstests/core/fts_casesensitive.js index 6617822d43f..191631a6ac0 100644 --- a/jstests/core/fts_casesensitive.js +++ b/jstests/core/fts_casesensitive.js @@ -1,4 +1,7 @@ // Integration tests for {$caseSensitive: true} option to $text query operator. +// @tags: [ +// sbe_incompatible, +// ] load('jstests/libs/fts.js'); var coll = db.fts_casesensitive; diff --git a/jstests/core/fts_diacritic_and_caseinsensitive.js b/jstests/core/fts_diacritic_and_caseinsensitive.js index 4b79837fed5..107ff447ec9 100644 --- a/jstests/core/fts_diacritic_and_caseinsensitive.js +++ b/jstests/core/fts_diacritic_and_caseinsensitive.js @@ -1,4 +1,7 @@ // Integration tests for no case or diacritic options to $text query operator. +// @tags: [ +// sbe_incompatible, +// ] load('jstests/libs/fts.js'); diff --git a/jstests/core/fts_diacritic_and_casesensitive.js b/jstests/core/fts_diacritic_and_casesensitive.js index 5d5711f640e..0f0e63feca4 100644 --- a/jstests/core/fts_diacritic_and_casesensitive.js +++ b/jstests/core/fts_diacritic_and_casesensitive.js @@ -1,5 +1,8 @@ // Integration tests for {$diacriticSensitive: true, $caseSensitive: true} option to $text query // operator. +// @tags: [ +// sbe_incompatible, +// ] load('jstests/libs/fts.js'); diff --git a/jstests/core/fts_diacriticsensitive.js b/jstests/core/fts_diacriticsensitive.js index c24b82350e0..4440e587ed7 100644 --- a/jstests/core/fts_diacriticsensitive.js +++ b/jstests/core/fts_diacriticsensitive.js @@ -1,4 +1,7 @@ // Integration tests for {$diacriticSensitive: true} option to $text query operator. +// @tags: [ +// sbe_incompatible, +// ] load('jstests/libs/fts.js'); diff --git a/jstests/core/fts_dotted_prefix_fields.js b/jstests/core/fts_dotted_prefix_fields.js index 4f634c57312..a16988b9fac 100644 --- a/jstests/core/fts_dotted_prefix_fields.js +++ b/jstests/core/fts_dotted_prefix_fields.js @@ -1,5 +1,8 @@ // Test that text search works correct when the text index has dotted paths as the non-text // prefixes. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/fts_explain.js b/jstests/core/fts_explain.js index 2470d8becf9..1f1f0a0e55b 100644 --- a/jstests/core/fts_explain.js +++ b/jstests/core/fts_explain.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // Test $text explain. SERVER-12037. diff --git a/jstests/core/fts_find_and_modify.js b/jstests/core/fts_find_and_modify.js index 607b6273d35..92d45ba1658 100644 --- a/jstests/core/fts_find_and_modify.js +++ b/jstests/core/fts_find_and_modify.js @@ -12,6 +12,7 @@ * # retryable write command, the 'fields' option does not currently work with retryable writes. * # See SERVER-31242. * requires_non_retryable_writes, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/fts_index.js b/jstests/core/fts_index.js index 1a567668629..48524fa53e2 100644 --- a/jstests/core/fts_index.js +++ b/jstests/core/fts_index.js @@ -7,14 +7,14 @@ * 5. Bad weights test cases. * * @tags: [ - * # Cannot implicitly shard accessed collections because of collection existing when none - * # expected. - * assumes_no_implicit_collection_creation_after_drop, - * # Has operations which may never complete in stepdown/kill/terminate transaction tests. - * operations_longer_than_stepdown_interval_in_txns, - * - * # Uses index building in background - * requires_background_index, + * # Cannot implicitly shard accessed collections because of collection existing when none + * # expected. + * assumes_no_implicit_collection_creation_after_drop, + * # Has operations which may never complete in stepdown/kill/terminate transaction tests. + * operations_longer_than_stepdown_interval_in_txns, + * # Uses index building in background + * requires_background_index, + * sbe_incompatible, * ] */ diff --git a/jstests/core/fts_index2.js b/jstests/core/fts_index2.js index f2d5e23f23f..bf264d60c8a 100644 --- a/jstests/core/fts_index2.js +++ b/jstests/core/fts_index2.js @@ -1,6 +1,10 @@ // Cannot implicitly shard accessed collections because renameCollection command not supported // on sharded collections. -// @tags: [assumes_unsharded_collection, requires_non_retryable_commands] +// @tags: [ +// assumes_unsharded_collection, +// requires_non_retryable_commands, +// sbe_incompatible, +// ] // Test that collections with text indexes can be renamed. SERVER-14027. diff --git a/jstests/core/fts_index3.js b/jstests/core/fts_index3.js index d23b0e5418f..02bd9559591 100644 --- a/jstests/core/fts_index3.js +++ b/jstests/core/fts_index3.js @@ -1,7 +1,10 @@ // 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, +// sbe_incompatible, +// ] // Test that updates to fields in a text-indexed document are correctly reflected in the text index. var coll = db.fts_index3; diff --git a/jstests/core/fts_index_version1.js b/jstests/core/fts_index_version1.js index 8ae979c7dbe..73993c83cbd 100644 --- a/jstests/core/fts_index_version1.js +++ b/jstests/core/fts_index_version1.js @@ -1,4 +1,7 @@ // Test basic usage of "textIndexVersion:1" indexes. +// @tags: [ +// sbe_incompatible, +// ] var coll = db.fts_index_version1; // Test basic English search. diff --git a/jstests/core/fts_index_version2.js b/jstests/core/fts_index_version2.js index a74fe11a62f..10f803f30c6 100644 --- a/jstests/core/fts_index_version2.js +++ b/jstests/core/fts_index_version2.js @@ -1,4 +1,7 @@ // Integration tests for version 2 text index, ensuring that it maintains old behavior. +// @tags: [ +// sbe_incompatible, +// ] load('jstests/libs/fts.js'); diff --git a/jstests/core/fts_index_wildcard_and_weight.js b/jstests/core/fts_index_wildcard_and_weight.js index 936d36c8a94..72631070ff3 100644 --- a/jstests/core/fts_index_wildcard_and_weight.js +++ b/jstests/core/fts_index_wildcard_and_weight.js @@ -1,6 +1,9 @@ // Test that on a text index that matches all fields does not use a weight from a named field. // This test was designed to reproduce SERVER-45363. // +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; var coll = db.getCollection(jsTestName()); diff --git a/jstests/core/fts_mix.js b/jstests/core/fts_mix.js index 89195d8b710..abfdcc6aefd 100644 --- a/jstests/core/fts_mix.js +++ b/jstests/core/fts_mix.js @@ -3,6 +3,9 @@ load("jstests/libs/fts.js"); load("jstests/aggregation/extras/utils.js"); // For resultsEq. // test collection +// @tags: [ +// sbe_incompatible, +// ] tc = db.text_mix; tc.drop(); diff --git a/jstests/core/fts_partition1.js b/jstests/core/fts_partition1.js index a2a52a74cdf..055f574baf1 100644 --- a/jstests/core/fts_partition1.js +++ b/jstests/core/fts_partition1.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ load("jstests/libs/fts.js"); t = db.text_parition1; diff --git a/jstests/core/fts_partition_no_multikey.js b/jstests/core/fts_partition_no_multikey.js index 1238bc60839..209faf94f3a 100644 --- a/jstests/core/fts_partition_no_multikey.js +++ b/jstests/core/fts_partition_no_multikey.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.fts_partition_no_multikey; t.drop(); diff --git a/jstests/core/fts_phrase.js b/jstests/core/fts_phrase.js index d93e53b0898..eae0a1c268d 100644 --- a/jstests/core/fts_phrase.js +++ b/jstests/core/fts_phrase.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.text_phrase; t.drop(); diff --git a/jstests/core/fts_proj.js b/jstests/core/fts_proj.js index cc89f84442a..ba4ca853279 100644 --- a/jstests/core/fts_proj.js +++ b/jstests/core/fts_proj.js @@ -1,5 +1,8 @@ /** * Projection tests for FTS queries. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/fts_projection.js b/jstests/core/fts_projection.js index 3d08cb953f0..ee355f988b2 100644 --- a/jstests/core/fts_projection.js +++ b/jstests/core/fts_projection.js @@ -1,4 +1,7 @@ // Test $text with $textScore projection. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/fts_querylang.js b/jstests/core/fts_querylang.js index 87a5e1d760b..bae823f4e18 100644 --- a/jstests/core/fts_querylang.js +++ b/jstests/core/fts_querylang.js @@ -1,5 +1,8 @@ // Test the $text query operator. -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/fts_score_sort.js b/jstests/core/fts_score_sort.js index b9103ad0c6b..97d5daf7f0a 100644 --- a/jstests/core/fts_score_sort.js +++ b/jstests/core/fts_score_sort.js @@ -1,4 +1,7 @@ // Test sorting with text score metadata. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/fts_spanish.js b/jstests/core/fts_spanish.js index 988b55cbb80..b2371e79959 100644 --- a/jstests/core/fts_spanish.js +++ b/jstests/core/fts_spanish.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ (function() { "use strict"; diff --git a/jstests/core/fts_trailing_fields.js b/jstests/core/fts_trailing_fields.js index 9db8d905535..b2dfef462e9 100644 --- a/jstests/core/fts_trailing_fields.js +++ b/jstests/core/fts_trailing_fields.js @@ -1,4 +1,7 @@ // Tests for predicates which can use the trailing field of a text index. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/function_string_representations.js b/jstests/core/function_string_representations.js index 9d79bb9c8d4..5f722d6bd4a 100644 --- a/jstests/core/function_string_representations.js +++ b/jstests/core/function_string_representations.js @@ -1,5 +1,6 @@ // @tags: [ // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] diff --git a/jstests/core/geo1.js b/jstests/core/geo1.js index bf61e4f7ad8..0afae69cf22 100644 --- a/jstests/core/geo1.js +++ b/jstests/core/geo1.js @@ -1,6 +1,10 @@ // Cannot implicitly shard accessed collections because of extra shard key index in sharded // collection. -// @tags: [assumes_no_implicit_index_creation, requires_fastcount] +// @tags: [ +// assumes_no_implicit_index_creation, +// requires_fastcount, +// sbe_incompatible, +// ] t = db.geo1; t.drop(); diff --git a/jstests/core/geo10.js b/jstests/core/geo10.js index 13bb765c176..c33f90cdfbd 100644 --- a/jstests/core/geo10.js +++ b/jstests/core/geo10.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // Test for SERVER-2746 diff --git a/jstests/core/geo2.js b/jstests/core/geo2.js index 4f687c4d068..01a4c467339 100644 --- a/jstests/core/geo2.js +++ b/jstests/core/geo2.js @@ -1,4 +1,8 @@ -// @tags: [requires_fastcount, operations_longer_than_stepdown_interval_in_txns] +// @tags: [ +// operations_longer_than_stepdown_interval_in_txns, +// requires_fastcount, +// sbe_incompatible, +// ] t = db.geo2; t.drop(); diff --git a/jstests/core/geo3.js b/jstests/core/geo3.js index b5fec6769e9..e75c9b14245 100644 --- a/jstests/core/geo3.js +++ b/jstests/core/geo3.js @@ -1,4 +1,8 @@ -// @tags: [requires_fastcount, operations_longer_than_stepdown_interval_in_txns] +// @tags: [ +// operations_longer_than_stepdown_interval_in_txns, +// requires_fastcount, +// sbe_incompatible, +// ] (function() { t = db.geo3; diff --git a/jstests/core/geo6.js b/jstests/core/geo6.js index 914b7679d70..d6b43771b2c 100644 --- a/jstests/core/geo6.js +++ b/jstests/core/geo6.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geo6; t.drop(); diff --git a/jstests/core/geo7.js b/jstests/core/geo7.js index b7563e9f155..18c1863273a 100644 --- a/jstests/core/geo7.js +++ b/jstests/core/geo7.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geo7; t.drop(); diff --git a/jstests/core/geo9.js b/jstests/core/geo9.js index eade34f6afe..eacd30f9a6d 100644 --- a/jstests/core/geo9.js +++ b/jstests/core/geo9.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geo9; t.drop(); diff --git a/jstests/core/geo_2d_explain.js b/jstests/core/geo_2d_explain.js index 1375cad7aba..370ef47e708 100644 --- a/jstests/core/geo_2d_explain.js +++ b/jstests/core/geo_2d_explain.js @@ -1,4 +1,7 @@ -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] var t = db.geo_2d_explain; diff --git a/jstests/core/geo_2d_trailing_fields.js b/jstests/core/geo_2d_trailing_fields.js index e4428c44888..f31b671f5c3 100644 --- a/jstests/core/geo_2d_trailing_fields.js +++ b/jstests/core/geo_2d_trailing_fields.js @@ -1,4 +1,7 @@ // Tests for predicates which can use the trailing field of a 2d index. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_2d_with_geojson_point.js b/jstests/core/geo_2d_with_geojson_point.js index 5c30d6e30ab..34b904a32bf 100644 --- a/jstests/core/geo_2d_with_geojson_point.js +++ b/jstests/core/geo_2d_with_geojson_point.js @@ -1,5 +1,8 @@ -/* +/** * Use of GeoJSON points should be prohibited with a 2d index, SERVER-10636. + * @tags: [ + * sbe_incompatible, + * ] */ var t = db.geo_2d_with_geojson_point; diff --git a/jstests/core/geo_allowedcomparisons.js b/jstests/core/geo_allowedcomparisons.js index 24b4ce95efa..c1ef4efcba1 100644 --- a/jstests/core/geo_allowedcomparisons.js +++ b/jstests/core/geo_allowedcomparisons.js @@ -1,4 +1,7 @@ // A test for what geometries can interact with what other geometries. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_allowedcomparisons; // Any GeoJSON object can intersect with any geojson object. diff --git a/jstests/core/geo_array0.js b/jstests/core/geo_array0.js index 9d25eae9c51..0f27de02e49 100644 --- a/jstests/core/geo_array0.js +++ b/jstests/core/geo_array0.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // Make sure the very basics of geo arrays are sane by creating a few multi location docs t = db.geoarray; diff --git a/jstests/core/geo_array1.js b/jstests/core/geo_array1.js index 08b6060f3cc..53ee3ef8729 100644 --- a/jstests/core/geo_array1.js +++ b/jstests/core/geo_array1.js @@ -1,4 +1,7 @@ // Make sure many locations in one doc works, in the form of an array +// @tags: [ +// sbe_incompatible, +// ] t = db.geoarray1; function test(index) { diff --git a/jstests/core/geo_array2.js b/jstests/core/geo_array2.js index bd9a8507999..d2a197891e6 100644 --- a/jstests/core/geo_array2.js +++ b/jstests/core/geo_array2.js @@ -1,4 +1,7 @@ // Check the semantics of near calls with multiple locations +// @tags: [ +// sbe_incompatible, +// ] t = db.geoarray2; t.drop(); diff --git a/jstests/core/geo_big_polygon.js b/jstests/core/geo_big_polygon.js index 26b3f436780..6aafc934631 100644 --- a/jstests/core/geo_big_polygon.js +++ b/jstests/core/geo_big_polygon.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_fastcount, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // // Test of sample big polygon functionality diff --git a/jstests/core/geo_big_polygon2.js b/jstests/core/geo_big_polygon2.js index d41377bb46a..e681a84167f 100644 --- a/jstests/core/geo_big_polygon2.js +++ b/jstests/core/geo_big_polygon2.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_fastcount, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // // Big Polygon related tests diff --git a/jstests/core/geo_big_polygon3.js b/jstests/core/geo_big_polygon3.js index d9f850b7b2d..a55ce87c3d6 100644 --- a/jstests/core/geo_big_polygon3.js +++ b/jstests/core/geo_big_polygon3.js @@ -2,6 +2,7 @@ // does_not_support_stepdowns, // requires_fastcount, // requires_non_retryable_writes, +// sbe_incompatible, // ] // diff --git a/jstests/core/geo_borders.js b/jstests/core/geo_borders.js index 0335b3d5c39..8eac710db0f 100644 --- a/jstests/core/geo_borders.js +++ b/jstests/core/geo_borders.js @@ -4,6 +4,9 @@ t.drop(); epsilon = 0.0001; // For these tests, *required* that step ends exactly on max +// @tags: [ +// sbe_incompatible, +// ] min = -1; max = 1; step = 1; diff --git a/jstests/core/geo_box1.js b/jstests/core/geo_box1.js index c724b0a8b5d..300e65c2dc6 100644 --- a/jstests/core/geo_box1.js +++ b/jstests/core/geo_box1.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] t = db.geo_box1; t.drop(); diff --git a/jstests/core/geo_box1_noindex.js b/jstests/core/geo_box1_noindex.js index 3bc7b5ad3e2..4c813d17fa0 100644 --- a/jstests/core/geo_box1_noindex.js +++ b/jstests/core/geo_box1_noindex.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // SERVER-7343: allow $within without a geo index. t = db.geo_box1_noindex; diff --git a/jstests/core/geo_box2.js b/jstests/core/geo_box2.js index 74f9695f9b2..f0f99b15ea0 100644 --- a/jstests/core/geo_box2.js +++ b/jstests/core/geo_box2.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geo_box2; t.drop(); diff --git a/jstests/core/geo_box3.js b/jstests/core/geo_box3.js index 7f9dd12ea60..bbc7a729e09 100644 --- a/jstests/core/geo_box3.js +++ b/jstests/core/geo_box3.js @@ -2,6 +2,9 @@ // construct an index, think up a bounding box inside the index that // doesn't include the center of the index, and put a point inside the // bounding box. +// @tags: [ +// sbe_incompatible, +// ] // This is the bug reported in SERVER-994. t = db.geo_box3; diff --git a/jstests/core/geo_center_sphere1.js b/jstests/core/geo_center_sphere1.js index a533c0a598a..df3ea9bb36c 100644 --- a/jstests/core/geo_center_sphere1.js +++ b/jstests/core/geo_center_sphere1.js @@ -1,4 +1,8 @@ -// @tags: [requires_fastcount, assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// requires_fastcount, +// sbe_incompatible, +// ] t = db.geo_center_sphere1; diff --git a/jstests/core/geo_center_sphere2.js b/jstests/core/geo_center_sphere2.js index af8074d75cb..4a263cba259 100644 --- a/jstests/core/geo_center_sphere2.js +++ b/jstests/core/geo_center_sphere2.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // // Tests the error handling of spherical queries diff --git a/jstests/core/geo_circle1.js b/jstests/core/geo_circle1.js index a95aeba2c71..65d2a467eab 100644 --- a/jstests/core/geo_circle1.js +++ b/jstests/core/geo_circle1.js @@ -1,4 +1,8 @@ -// @tags: [requires_fastcount, assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// requires_fastcount, +// sbe_incompatible, +// ] t = db.geo_circle1; t.drop(); diff --git a/jstests/core/geo_circle1_noindex.js b/jstests/core/geo_circle1_noindex.js index 6c3135855a5..cafa251cb4a 100644 --- a/jstests/core/geo_circle1_noindex.js +++ b/jstests/core/geo_circle1_noindex.js @@ -1,4 +1,7 @@ // SERVER-7343: allow $within without a geo index. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_circle1_noindex; t.drop(); diff --git a/jstests/core/geo_circle2.js b/jstests/core/geo_circle2.js index 6c89098f684..30a826b4f27 100644 --- a/jstests/core/geo_circle2.js +++ b/jstests/core/geo_circle2.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geo_circle2; t.drop(); diff --git a/jstests/core/geo_circle2a.js b/jstests/core/geo_circle2a.js index 1a0cc06a7f8..e3f7a16b150 100644 --- a/jstests/core/geo_circle2a.js +++ b/jstests/core/geo_circle2a.js @@ -2,6 +2,9 @@ // Tests to make sure that nested multi-key indexing works for geo indexes and is not used for // direct position // lookups +// @tags: [ +// sbe_incompatible, +// ] var coll = db.geo_circle2a; coll.drop(); diff --git a/jstests/core/geo_circle3.js b/jstests/core/geo_circle3.js index 4e1fde4aa89..3be564cd180 100644 --- a/jstests/core/geo_circle3.js +++ b/jstests/core/geo_circle3.js @@ -1,4 +1,7 @@ // SERVER-848 and SERVER-1191. +// @tags: [ +// sbe_incompatible, +// ] db.places.drop(); n = 0; diff --git a/jstests/core/geo_circle4.js b/jstests/core/geo_circle4.js index 0d2b74b2cba..1feb72a2e48 100644 --- a/jstests/core/geo_circle4.js +++ b/jstests/core/geo_circle4.js @@ -1,4 +1,7 @@ // Reported as server-848. +// @tags: [ +// sbe_incompatible, +// ] function test(index) { db.server848.drop(); diff --git a/jstests/core/geo_circle5.js b/jstests/core/geo_circle5.js index 1296e68073e..8366d754512 100644 --- a/jstests/core/geo_circle5.js +++ b/jstests/core/geo_circle5.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // reported as server-1238. diff --git a/jstests/core/geo_distinct.js b/jstests/core/geo_distinct.js index 2ea860ff981..9dce21e9368 100644 --- a/jstests/core/geo_distinct.js +++ b/jstests/core/geo_distinct.js @@ -2,7 +2,10 @@ // 1. Test distinct with geo values for 'key' (SERVER-2135) // 2. Test distinct with geo predicates for 'query' (SERVER-13769) // -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_exactfetch.js b/jstests/core/geo_exactfetch.js index 4af4032045f..68ecc9941ae 100644 --- a/jstests/core/geo_exactfetch.js +++ b/jstests/core/geo_exactfetch.js @@ -1,4 +1,7 @@ // SERVER-7322 +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_exactfetch; t.drop(); diff --git a/jstests/core/geo_fiddly_box.js b/jstests/core/geo_fiddly_box.js index efb185e2dfd..898d718c0cb 100644 --- a/jstests/core/geo_fiddly_box.js +++ b/jstests/core/geo_fiddly_box.js @@ -1,6 +1,9 @@ // Reproduces simple test for SERVER-2832 // -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] // The setup to reproduce was/is to create a set of points where the // "expand" portion of the geo-lookup expands the 2d range in only one diff --git a/jstests/core/geo_fiddly_box2.js b/jstests/core/geo_fiddly_box2.js index 6a40b5032b5..d523f56ab38 100644 --- a/jstests/core/geo_fiddly_box2.js +++ b/jstests/core/geo_fiddly_box2.js @@ -1,4 +1,7 @@ // Reproduces simple test for SERVER-2115 +// @tags: [ +// sbe_incompatible, +// ] // The setup to reproduce is to create a set of points and a really big bounds so that we are // required to do diff --git a/jstests/core/geo_haystack1.js b/jstests/core/geo_haystack1.js index eaf9641d3c4..7596514c59b 100644 --- a/jstests/core/geo_haystack1.js +++ b/jstests/core/geo_haystack1.js @@ -1,6 +1,7 @@ // @tags: [ -// # Haystack index is not available on embedded -// incompatible_with_embedded, +// # Haystack index is not available on embedded +// incompatible_with_embedded, +// sbe_incompatible, // ] t = db.geo_haystack1; diff --git a/jstests/core/geo_haystack2.js b/jstests/core/geo_haystack2.js index b9946ef3cd8..c16b3979bd7 100644 --- a/jstests/core/geo_haystack2.js +++ b/jstests/core/geo_haystack2.js @@ -1,6 +1,7 @@ // @tags: [ -// # Haystack index is not available on embedded -// incompatible_with_embedded, +// # Haystack index is not available on embedded +// incompatible_with_embedded, +// sbe_incompatible, // ] t = db.geo_haystack2; diff --git a/jstests/core/geo_haystack3.js b/jstests/core/geo_haystack3.js index 3fe0da348b2..de06d8b19cf 100644 --- a/jstests/core/geo_haystack3.js +++ b/jstests/core/geo_haystack3.js @@ -1,6 +1,7 @@ // @tags: [ -// # Haystack index is not available on embedded -// incompatible_with_embedded, +// # Haystack index is not available on embedded +// incompatible_with_embedded, +// sbe_incompatible, // ] t = db.geo_haystack3; diff --git a/jstests/core/geo_invalid_2d_params.js b/jstests/core/geo_invalid_2d_params.js index 738fa1ad353..a970ac23432 100644 --- a/jstests/core/geo_invalid_2d_params.js +++ b/jstests/core/geo_invalid_2d_params.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ var t = db.geo_invalid_2d_params; t.drop(); diff --git a/jstests/core/geo_invalid_polygon.js b/jstests/core/geo_invalid_polygon.js index 0eab7ca5406..22e6103bfdc 100644 --- a/jstests/core/geo_invalid_polygon.js +++ b/jstests/core/geo_invalid_polygon.js @@ -1,5 +1,8 @@ // With invalid geometry, error message should include _id // SERVER-8992 +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_invalid_polygon; t.drop(); diff --git a/jstests/core/geo_max.js b/jstests/core/geo_max.js index 03771ea34d4..d77d2ad8513 100644 --- a/jstests/core/geo_max.js +++ b/jstests/core/geo_max.js @@ -1,6 +1,9 @@ // Test where points are on _max (180) // Using GeoNearRandom because this test needs a lot of points in the index. // If there aren't enough points the test passes even if the code is broken. +// @tags: [ +// sbe_incompatible, +// ] load("jstests/libs/geo_near_random.js"); var test = new GeoNearRandomTest("geo_near_max"); diff --git a/jstests/core/geo_mindistance.js b/jstests/core/geo_mindistance.js index a92aab55f18..33153e62008 100644 --- a/jstests/core/geo_mindistance.js +++ b/jstests/core/geo_mindistance.js @@ -1,5 +1,9 @@ // Test $minDistance option for $near and $nearSphere queries, and the $geoNear aggregation stage. -// @tags: [requires_fastcount, requires_getmore] +// @tags: [ +// requires_fastcount, +// requires_getmore, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_mindistance_boundaries.js b/jstests/core/geo_mindistance_boundaries.js index 32977ac4b12..2378176f8ad 100644 --- a/jstests/core/geo_mindistance_boundaries.js +++ b/jstests/core/geo_mindistance_boundaries.js @@ -1,5 +1,8 @@ -/* Test boundary conditions for $minDistance option for $near and $nearSphere +/**Test boundary conditions for $minDistance option for $near and $nearSphere * queries. SERVER-9395. + * @tags: [ + * sbe_incompatible, + * ] */ var t = db.geo_mindistance_boundaries; t.drop(); diff --git a/jstests/core/geo_multikey0.js b/jstests/core/geo_multikey0.js index 827dd9a41a1..824d411c65e 100644 --- a/jstests/core/geo_multikey0.js +++ b/jstests/core/geo_multikey0.js @@ -1,4 +1,7 @@ // Multikey geo values tests - SERVER-3793. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_geo_multikey0; t.drop(); diff --git a/jstests/core/geo_multikey1.js b/jstests/core/geo_multikey1.js index 9c092f4ec31..1d51c9221b3 100644 --- a/jstests/core/geo_multikey1.js +++ b/jstests/core/geo_multikey1.js @@ -1,4 +1,7 @@ // Multikey geo index tests with parallel arrays. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_geo_multikey1; t.drop(); diff --git a/jstests/core/geo_multinest0.js b/jstests/core/geo_multinest0.js index 644fcd0d074..6c0106d70df 100644 --- a/jstests/core/geo_multinest0.js +++ b/jstests/core/geo_multinest0.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // Make sure nesting of location arrays also works. diff --git a/jstests/core/geo_multinest1.js b/jstests/core/geo_multinest1.js index 78021e4794f..d033cfa86b8 100644 --- a/jstests/core/geo_multinest1.js +++ b/jstests/core/geo_multinest1.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // Test distance queries with interleaved distances diff --git a/jstests/core/geo_near_bounds_overflow.js b/jstests/core/geo_near_bounds_overflow.js index 04f5a977de6..3d840e82d3b 100644 --- a/jstests/core/geo_near_bounds_overflow.js +++ b/jstests/core/geo_near_bounds_overflow.js @@ -1,4 +1,7 @@ // Tests behavior with invalid 2d bounds. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_near_random1.js b/jstests/core/geo_near_random1.js index 1e7f2bb587d..b6350e6c6a7 100644 --- a/jstests/core/geo_near_random1.js +++ b/jstests/core/geo_near_random1.js @@ -1,4 +1,7 @@ // this tests all points +// @tags: [ +// sbe_incompatible, +// ] load("jstests/libs/geo_near_random.js"); var test = new GeoNearRandomTest("geo_near_random1"); diff --git a/jstests/core/geo_near_random2.js b/jstests/core/geo_near_random2.js index 0cbf374446d..c524e7a7da4 100644 --- a/jstests/core/geo_near_random2.js +++ b/jstests/core/geo_near_random2.js @@ -1,4 +1,7 @@ // this tests 1% of all points +// @tags: [ +// sbe_incompatible, +// ] load("jstests/libs/geo_near_random.js"); var test = new GeoNearRandomTest("geo_near_random2"); diff --git a/jstests/core/geo_near_tailable.js b/jstests/core/geo_near_tailable.js index 405e236707c..824de470ab9 100644 --- a/jstests/core/geo_near_tailable.js +++ b/jstests/core/geo_near_tailable.js @@ -1,4 +1,7 @@ -// @tags: [requires_capped] +// @tags: [ +// requires_capped, +// sbe_incompatible, +// ] // // Tests that combine $geoNear and tailable cursors. // diff --git a/jstests/core/geo_nearwithin.js b/jstests/core/geo_nearwithin.js index 49b8d155a44..37d963b3ddc 100644 --- a/jstests/core/geo_nearwithin.js +++ b/jstests/core/geo_nearwithin.js @@ -1,4 +1,7 @@ // Test $near + $within. +// @tags: [ +// sbe_incompatible, +// ] (function() { t = db.geo_nearwithin; t.drop(); diff --git a/jstests/core/geo_oob_sphere.js b/jstests/core/geo_oob_sphere.js index 3a878f06b78..0c05adc11ae 100644 --- a/jstests/core/geo_oob_sphere.js +++ b/jstests/core/geo_oob_sphere.js @@ -1,6 +1,9 @@ // // Ensures spherical queries report invalid latitude values in points and center positions // +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_operator_crs.js b/jstests/core/geo_operator_crs.js index 95dd130ebfd..cab73fedb0f 100644 --- a/jstests/core/geo_operator_crs.js +++ b/jstests/core/geo_operator_crs.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // // Tests that the correct CRSes are used for geo queries (based on input geometry) diff --git a/jstests/core/geo_or.js b/jstests/core/geo_or.js index 4da82d49ca2..04caca0e106 100644 --- a/jstests/core/geo_or.js +++ b/jstests/core/geo_or.js @@ -1,4 +1,7 @@ // multiple geo clauses with $or +// @tags: [ +// sbe_incompatible, +// ] t = db.geoor; diff --git a/jstests/core/geo_poly_edge.js b/jstests/core/geo_poly_edge.js index a8239cde0af..971483e9eef 100644 --- a/jstests/core/geo_poly_edge.js +++ b/jstests/core/geo_poly_edge.js @@ -1,6 +1,9 @@ // // Tests polygon edge cases // +// @tags: [ +// sbe_incompatible, +// ] var coll = db.getCollection('jstests_geo_poly_edge'); coll.drop(); diff --git a/jstests/core/geo_poly_line.js b/jstests/core/geo_poly_line.js index fe00e0483e4..3eff8d12496 100644 --- a/jstests/core/geo_poly_line.js +++ b/jstests/core/geo_poly_line.js @@ -1,4 +1,7 @@ // Test that weird polygons work SERVER-3725 +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_polygon5; t.drop(); diff --git a/jstests/core/geo_polygon1.js b/jstests/core/geo_polygon1.js index 34b0cafa1d4..b5580d7bda7 100644 --- a/jstests/core/geo_polygon1.js +++ b/jstests/core/geo_polygon1.js @@ -1,6 +1,9 @@ // // Tests for N-dimensional polygon querying // +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_polygon1; t.drop(); diff --git a/jstests/core/geo_polygon1_noindex.js b/jstests/core/geo_polygon1_noindex.js index 5f43f736b45..3474cc50512 100644 --- a/jstests/core/geo_polygon1_noindex.js +++ b/jstests/core/geo_polygon1_noindex.js @@ -1,4 +1,7 @@ // SERVER-7343: allow $within without a geo index. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_polygon1_noindex; t.drop(); diff --git a/jstests/core/geo_polygon2.js b/jstests/core/geo_polygon2.js index 2bfaf0b1087..f0576dc905d 100644 --- a/jstests/core/geo_polygon2.js +++ b/jstests/core/geo_polygon2.js @@ -1,7 +1,10 @@ // // More tests for N-dimensional polygon querying // -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] // Create a polygon of some shape (no holes) // using turtle graphics. Basically, will look like a very contorted octopus (quad-pus?) shape. diff --git a/jstests/core/geo_polygon3.js b/jstests/core/geo_polygon3.js index fe62bee1f14..2fb259332aa 100644 --- a/jstests/core/geo_polygon3.js +++ b/jstests/core/geo_polygon3.js @@ -1,6 +1,9 @@ // // Tests for polygon querying with varying levels of accuracy // +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_queryoptimizer.js b/jstests/core/geo_queryoptimizer.js index b6a89c15ea0..56653551ba7 100644 --- a/jstests/core/geo_queryoptimizer.js +++ b/jstests/core/geo_queryoptimizer.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geo_qo1; t.drop(); diff --git a/jstests/core/geo_regex0.js b/jstests/core/geo_regex0.js index 1add7f4e0c3..99ae2cc6a0f 100644 --- a/jstests/core/geo_regex0.js +++ b/jstests/core/geo_regex0.js @@ -1,5 +1,8 @@ // From SERVER-2247 // Tests to make sure regex works with geo indices +// @tags: [ +// sbe_incompatible, +// ] t = db.regex0; t.drop(); diff --git a/jstests/core/geo_s2cursorlimitskip.js b/jstests/core/geo_s2cursorlimitskip.js index 6614074e31b..f599ccd5b62 100644 --- a/jstests/core/geo_s2cursorlimitskip.js +++ b/jstests/core/geo_s2cursorlimitskip.js @@ -2,13 +2,14 @@ // // @tags: [ // # This test attempts to enable profiling on a server and then get profiling data by reading -// # from the "system.profile" collection. The former operation must be routed to the primary in +// # nodes the "system.profile" collection. The former operation must be routed to the primary in // # a replica set, whereas the latter may be routed to a secondary. // assumes_read_preference_unchanged, // does_not_support_stepdowns, -// requires_getmore, // requires_capped, +// requires_getmore, // requires_profiling, +// sbe_incompatible, // ] var testDB = db.getSiblingDB("geo_s2cursorlimitskip"); diff --git a/jstests/core/geo_s2dedupnear.js b/jstests/core/geo_s2dedupnear.js index 21378893720..bbf92ded8d7 100644 --- a/jstests/core/geo_s2dedupnear.js +++ b/jstests/core/geo_s2dedupnear.js @@ -1,5 +1,8 @@ // Make sure that we don't return several of the same result due to faulty // assumptions about the btree cursor. That is, don't return duplicate results. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2dedupnear; t.drop(); diff --git a/jstests/core/geo_s2descindex.js b/jstests/core/geo_s2descindex.js index 5ef5758ae8a..4a945895c57 100644 --- a/jstests/core/geo_s2descindex.js +++ b/jstests/core/geo_s2descindex.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // // Tests 2dsphere with descending fields, ensures correct lookup diff --git a/jstests/core/geo_s2disjoint_holes.js b/jstests/core/geo_s2disjoint_holes.js index a79ea432d48..3654f771280 100644 --- a/jstests/core/geo_s2disjoint_holes.js +++ b/jstests/core/geo_s2disjoint_holes.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // // We should prohibit polygons with holes not bounded by their exterior shells. diff --git a/jstests/core/geo_s2dupe_points.js b/jstests/core/geo_s2dupe_points.js index 1038c6df087..2514cdbf4c1 100644 --- a/jstests/core/geo_s2dupe_points.js +++ b/jstests/core/geo_s2dupe_points.js @@ -2,6 +2,9 @@ // s2 rejects shapes with duplicate adjacent points as invalid, but they are // valid in GeoJSON. We store the duplicates, but internally remove them // before indexing or querying. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2dupe_points; t.drop(); t.ensureIndex({geo: "2dsphere"}); diff --git a/jstests/core/geo_s2edgecases.js b/jstests/core/geo_s2edgecases.js index 3dabfdf0bcb..e4a94c46db2 100644 --- a/jstests/core/geo_s2edgecases.js +++ b/jstests/core/geo_s2edgecases.js @@ -7,6 +7,9 @@ roundworldpoint = { }; // Opposite the equator +// @tags: [ +// sbe_incompatible, +// ] roundworld = { "type": "Polygon", "coordinates": [[[179, 1], [-179, 1], [-179, -1], [179, -1], [179, 1]]] diff --git a/jstests/core/geo_s2exact.js b/jstests/core/geo_s2exact.js index 2c8571c0830..3615be13cb5 100644 --- a/jstests/core/geo_s2exact.js +++ b/jstests/core/geo_s2exact.js @@ -1,4 +1,7 @@ // Queries on exact geometry should return the exact geometry. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2exact; t.drop(); diff --git a/jstests/core/geo_s2explain.js b/jstests/core/geo_s2explain.js index 6e6938e509a..842c6eb22c8 100644 --- a/jstests/core/geo_s2explain.js +++ b/jstests/core/geo_s2explain.js @@ -1,5 +1,8 @@ // Test to check whether the number of intervals in a geoNear query equals // the number of inputStages it completes +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_geo_s2explain; t.drop(); diff --git a/jstests/core/geo_s2holesameasshell.js b/jstests/core/geo_s2holesameasshell.js index 5407fe45c26..0d60ab6958e 100644 --- a/jstests/core/geo_s2holesameasshell.js +++ b/jstests/core/geo_s2holesameasshell.js @@ -1,4 +1,7 @@ // If polygons have holes, the holes cannot be equal to the entire geometry. +// @tags: [ +// sbe_incompatible, +// ] var t = db.geo_s2holessameasshell; t.drop(); t.ensureIndex({geo: "2dsphere"}); diff --git a/jstests/core/geo_s2index.js b/jstests/core/geo_s2index.js index d909fab4489..ecc20c7e637 100644 --- a/jstests/core/geo_s2index.js +++ b/jstests/core/geo_s2index.js @@ -2,6 +2,9 @@ t = db.geo_s2index; t.drop(); // We internally drop adjacent duplicate points in lines. +// @tags: [ +// sbe_incompatible, +// ] someline = { "type": "LineString", "coordinates": [[40, 5], [40, 5], [40, 5], [41, 6], [41, 6]] diff --git a/jstests/core/geo_s2indexoldformat.js b/jstests/core/geo_s2indexoldformat.js index 43974f695cb..c02b854e3fa 100644 --- a/jstests/core/geo_s2indexoldformat.js +++ b/jstests/core/geo_s2indexoldformat.js @@ -1,5 +1,8 @@ // Make sure that the 2dsphere index can deal with non-GeoJSON points. // 2dsphere does not accept legacy shapes, only legacy points. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2indexoldformat; t.drop(); diff --git a/jstests/core/geo_s2indexversion1.js b/jstests/core/geo_s2indexversion1.js index 52d2d29a5bb..5471ce99004 100644 --- a/jstests/core/geo_s2indexversion1.js +++ b/jstests/core/geo_s2indexversion1.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // Tests 2dsphere index option "2dsphereIndexVersion". Verifies that GeoJSON objects that are new // in version 2 are not allowed in version 1. diff --git a/jstests/core/geo_s2intersection.js b/jstests/core/geo_s2intersection.js index faf9304396c..25479a58349 100644 --- a/jstests/core/geo_s2intersection.js +++ b/jstests/core/geo_s2intersection.js @@ -2,8 +2,11 @@ var t = db.geo_s2intersectinglines; t.drop(); t.ensureIndex({geo: "2dsphere"}); -/* All the tests in this file are generally confirming intersections based upon +/**All the tests in this file are generally confirming intersections based upon * these three geo objects. + * @tags: [ + * sbe_incompatible, + * ] */ var canonLine = { name: 'canonLine', diff --git a/jstests/core/geo_s2largewithin.js b/jstests/core/geo_s2largewithin.js index 2bb0fb557b2..4723bb4833e 100644 --- a/jstests/core/geo_s2largewithin.js +++ b/jstests/core/geo_s2largewithin.js @@ -1,5 +1,8 @@ // If our $within is enormous, create a coarse covering for the search so it // doesn't take forever. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2largewithin; t.drop(); t.ensureIndex({geo: "2dsphere"}); diff --git a/jstests/core/geo_s2meridian.js b/jstests/core/geo_s2meridian.js index 65e2a9879e8..47f4fb08a6a 100644 --- a/jstests/core/geo_s2meridian.js +++ b/jstests/core/geo_s2meridian.js @@ -2,10 +2,13 @@ t = db.geo_s2meridian; t.drop(); t.ensureIndex({geo: "2dsphere"}); -/* +/** * Test 1: check that intersection works on the meridian. We insert a line * that crosses the meridian, and then run a geoIntersect with a line * that runs along the meridian. + * @tags: [ + * sbe_incompatible, + * ] */ meridianCrossingLine = { diff --git a/jstests/core/geo_s2multi.js b/jstests/core/geo_s2multi.js index b72177eea73..28034ad8ba6 100644 --- a/jstests/core/geo_s2multi.js +++ b/jstests/core/geo_s2multi.js @@ -4,6 +4,9 @@ t.drop(); t.ensureIndex({geo: "2dsphere"}); // Let's try the examples in the GeoJSON spec. +// @tags: [ +// sbe_incompatible, +// ] multiPointA = { "type": "MultiPoint", "coordinates": [[100.0, 0.0], [101.0, 1.0]] diff --git a/jstests/core/geo_s2near.js b/jstests/core/geo_s2near.js index 86373c4aa11..c61e16927ff 100644 --- a/jstests/core/geo_s2near.js +++ b/jstests/core/geo_s2near.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // Test 2dsphere near search, called via find and $geoNear. (function() { diff --git a/jstests/core/geo_s2nearComplex.js b/jstests/core/geo_s2nearComplex.js index d5b530e6fb4..d7f4fffabc1 100644 --- a/jstests/core/geo_s2nearComplex.js +++ b/jstests/core/geo_s2nearComplex.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, requires_non_retryable_writes] +// @tags: [ +// requires_getmore, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] var t = db.get_s2nearcomplex; t.drop(); diff --git a/jstests/core/geo_s2near_equator_opposite.js b/jstests/core/geo_s2near_equator_opposite.js index 485afc52fd4..de196ea70eb 100644 --- a/jstests/core/geo_s2near_equator_opposite.js +++ b/jstests/core/geo_s2near_equator_opposite.js @@ -1,6 +1,9 @@ // Tests geo near with 2 points diametrically opposite to each other // on the equator // First reported in SERVER-11830 as a regression in 2.5 +// @tags: [ +// sbe_incompatible, +// ] (function() { var t = db.geos2nearequatoropposite; diff --git a/jstests/core/geo_s2nearcorrect.js b/jstests/core/geo_s2nearcorrect.js index 54552a4bee5..43cb30b5885 100644 --- a/jstests/core/geo_s2nearcorrect.js +++ b/jstests/core/geo_s2nearcorrect.js @@ -2,6 +2,9 @@ // A geometry may have several covers, one of which is in a search ring and the other of which is // not. If we see the cover that's not in the search ring, we can't mark the object as 'seen' for // this ring. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2nearcorrect; t.drop(); diff --git a/jstests/core/geo_s2nearwithin.js b/jstests/core/geo_s2nearwithin.js index a40aa34d255..8018dfec575 100644 --- a/jstests/core/geo_s2nearwithin.js +++ b/jstests/core/geo_s2nearwithin.js @@ -1,4 +1,7 @@ // Test $geoNear + $within. +// @tags: [ +// sbe_incompatible, +// ] (function() { t = db.geo_s2nearwithin; t.drop(); diff --git a/jstests/core/geo_s2nongeoarray.js b/jstests/core/geo_s2nongeoarray.js index 62842c8c7b4..4242a9f38e9 100644 --- a/jstests/core/geo_s2nongeoarray.js +++ b/jstests/core/geo_s2nongeoarray.js @@ -1,5 +1,8 @@ // Explode arrays when indexing non-geo fields in 2dsphere, and make sure that // we find them with queries. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2nongeoarray; oldPoint = [40, 5]; diff --git a/jstests/core/geo_s2nonstring.js b/jstests/core/geo_s2nonstring.js index 960f0c727a8..f8b1000b09c 100644 --- a/jstests/core/geo_s2nonstring.js +++ b/jstests/core/geo_s2nonstring.js @@ -1,4 +1,7 @@ // Added to make sure that S2 indexing's string AND non-string keys work. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2nonstring; t.drop(); diff --git a/jstests/core/geo_s2nopoints.js b/jstests/core/geo_s2nopoints.js index 0d2afdb1672..2556540b662 100644 --- a/jstests/core/geo_s2nopoints.js +++ b/jstests/core/geo_s2nopoints.js @@ -1,4 +1,7 @@ // See SERVER-7794. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2nopoints; t.drop(); diff --git a/jstests/core/geo_s2oddshapes.js b/jstests/core/geo_s2oddshapes.js index 4ae953696a0..0cc60a661a4 100644 --- a/jstests/core/geo_s2oddshapes.js +++ b/jstests/core/geo_s2oddshapes.js @@ -1,6 +1,9 @@ // Verify that odd polygons (huge or "narrow") behave as we expect. // Note that since 2dsphere is spherical, polygons that seem narrow are actually // rather wide if their latitude (or longitude) range is large. +// @tags: [ +// sbe_incompatible, +// ] var t = db.geo_s2oddshapes; t.drop(); t.ensureIndex({geo: "2dsphere"}); diff --git a/jstests/core/geo_s2ordering.js b/jstests/core/geo_s2ordering.js index ecbfbc95782..8ef84905b75 100644 --- a/jstests/core/geo_s2ordering.js +++ b/jstests/core/geo_s2ordering.js @@ -2,7 +2,11 @@ // actually matters for lookup speed. That is, if we're looking for a non-geo key of which // there are not many, the index order (nongeo, geo) should be faster than (geo, nongeo) // for 2dsphere. -// @tags: [assumes_balancer_off, operations_longer_than_stepdown_interval_in_txns] +// @tags: [ +// assumes_balancer_off, +// operations_longer_than_stepdown_interval_in_txns, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_s2overlappingpolys.js b/jstests/core/geo_s2overlappingpolys.js index 485132039d5..9dd7125349a 100644 --- a/jstests/core/geo_s2overlappingpolys.js +++ b/jstests/core/geo_s2overlappingpolys.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ var t = db.geo_s2overlappingpolys; t.drop(); diff --git a/jstests/core/geo_s2polywithholes.js b/jstests/core/geo_s2polywithholes.js index 020ba350e85..c20da5a34aa 100644 --- a/jstests/core/geo_s2polywithholes.js +++ b/jstests/core/geo_s2polywithholes.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ var t = db.geo_s2weirdpolys; t.drop(); t.ensureIndex({geo: "2dsphere"}); diff --git a/jstests/core/geo_s2selfintersectingpoly.js b/jstests/core/geo_s2selfintersectingpoly.js index 236283ab8ac..4bdf41eebab 100644 --- a/jstests/core/geo_s2selfintersectingpoly.js +++ b/jstests/core/geo_s2selfintersectingpoly.js @@ -6,7 +6,10 @@ var intersectingPolygon = { "type": "Polygon", "coordinates": [[[0.0, 0.0], [0.0, 4.0], [-3.0, 2.0], [1.0, 2.0], [0.0, 0.0]]] }; -/* +/** * Self intersecting polygons should cause a parse exception. + * @tags: [ + * sbe_incompatible, + * ] */ assert.writeError(t.insert({geo: intersectingPolygon})); diff --git a/jstests/core/geo_s2sparse.js b/jstests/core/geo_s2sparse.js index d058afb9f9b..5da238dfe64 100644 --- a/jstests/core/geo_s2sparse.js +++ b/jstests/core/geo_s2sparse.js @@ -1,5 +1,8 @@ // Test behavior of 2dsphere and sparse. See SERVER-9639. // All V2 2dsphere indices are sparse in the geo fields. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/geo_s2twofields.js b/jstests/core/geo_s2twofields.js index 2e225c8cef6..73666f2bf5e 100644 --- a/jstests/core/geo_s2twofields.js +++ b/jstests/core/geo_s2twofields.js @@ -1,7 +1,11 @@ // Verify that we can index multiple geo fields with 2dsphere, and that // performance is what we expect it to be with indexing both fields. // -// @tags: [requires_fastcount, operations_longer_than_stepdown_interval_in_txns] +// @tags: [ +// operations_longer_than_stepdown_interval_in_txns, +// requires_fastcount, +// sbe_incompatible, +// ] (function() { var t = db.geo_s2twofields; diff --git a/jstests/core/geo_s2validindex.js b/jstests/core/geo_s2validindex.js index 4c024d2d585..bd190ef2b40 100644 --- a/jstests/core/geo_s2validindex.js +++ b/jstests/core/geo_s2validindex.js @@ -1,6 +1,9 @@ // // Tests valid cases for creation of 2dsphere index // +// @tags: [ +// sbe_incompatible, +// ] var coll = db.getCollection("twodspherevalid"); diff --git a/jstests/core/geo_s2within.js b/jstests/core/geo_s2within.js index 430e4f4dc07..c32eb4fd612 100644 --- a/jstests/core/geo_s2within.js +++ b/jstests/core/geo_s2within.js @@ -1,4 +1,7 @@ // Test some cases that might be iffy with $within, mostly related to polygon w/holes. +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_s2within; t.drop(); t.ensureIndex({geo: "2dsphere"}); diff --git a/jstests/core/geo_s2within_line_polygon_sphere.js b/jstests/core/geo_s2within_line_polygon_sphere.js index 73e4a0f897d..f18595c5d6e 100644 --- a/jstests/core/geo_s2within_line_polygon_sphere.js +++ b/jstests/core/geo_s2within_line_polygon_sphere.js @@ -1,4 +1,7 @@ // Tests for $geowithin $centerSphere operator with LineString and Polygon. +// @tags: [ +// sbe_incompatible, +// ] (function() { function testGeoWithinCenterSphereLinePolygon(coll) { diff --git a/jstests/core/geo_small_large.js b/jstests/core/geo_small_large.js index 549f00369a2..5cfa3e68e0f 100644 --- a/jstests/core/geo_small_large.js +++ b/jstests/core/geo_small_large.js @@ -1,4 +1,7 @@ // SERVER-2386, general geo-indexing using very large and very small bounds +// @tags: [ +// sbe_incompatible, +// ] load("jstests/libs/geo_near_random.js"); diff --git a/jstests/core/geo_sort1.js b/jstests/core/geo_sort1.js index 7737719108d..22e185d0106 100644 --- a/jstests/core/geo_sort1.js +++ b/jstests/core/geo_sort1.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geo_sort1; t.drop(); diff --git a/jstests/core/geo_uniqueDocs.js b/jstests/core/geo_uniqueDocs.js index 6a46337966b..88162e42498 100644 --- a/jstests/core/geo_uniqueDocs.js +++ b/jstests/core/geo_uniqueDocs.js @@ -1,5 +1,8 @@ // Test uniqueDocs option for $within queries and the $geoNear aggregation stage. SERVER-3139 // SERVER-12120 uniqueDocs is deprecated. Server always returns unique documents. +// @tags: [ +// sbe_incompatible, +// ] collName = 'geo_uniqueDocs_test'; t = db.geo_uniqueDocs_test; diff --git a/jstests/core/geo_uniqueDocs2.js b/jstests/core/geo_uniqueDocs2.js index 23aa831f560..9e0b4a0a284 100644 --- a/jstests/core/geo_uniqueDocs2.js +++ b/jstests/core/geo_uniqueDocs2.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Additional checks for geo uniqueDocs and includeLocs SERVER-3139. // SERVER-12120 uniqueDocs is deprecated. diff --git a/jstests/core/geo_update.js b/jstests/core/geo_update.js index e6ee16eee59..c3b1cac90da 100644 --- a/jstests/core/geo_update.js +++ b/jstests/core/geo_update.js @@ -1,7 +1,10 @@ // 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, +// sbe_incompatible, +// ] // Tests geo queries w/ update & upsert // from SERVER-3428 diff --git a/jstests/core/geo_update1.js b/jstests/core/geo_update1.js index 54d123eff52..2f5b490b96f 100644 --- a/jstests/core/geo_update1.js +++ b/jstests/core/geo_update1.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] t = db.geo_update1; t.drop(); diff --git a/jstests/core/geo_update2.js b/jstests/core/geo_update2.js index 27825416e02..20673844eef 100644 --- a/jstests/core/geo_update2.js +++ b/jstests/core/geo_update2.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] t = db.geo_update2; t.drop(); diff --git a/jstests/core/geo_update_btree.js b/jstests/core/geo_update_btree.js index 8cf711a9e48..ad02f8661aa 100644 --- a/jstests/core/geo_update_btree.js +++ b/jstests/core/geo_update_btree.js @@ -3,6 +3,7 @@ // @tags: [ // assumes_write_concern_unchanged, // requires_non_retryable_writes, +// sbe_incompatible, // uses_multiple_connections, // uses_parallel_shell, // ] diff --git a/jstests/core/geo_update_btree2.js b/jstests/core/geo_update_btree2.js index 1d25ba3d7c8..3bc0a7c9760 100644 --- a/jstests/core/geo_update_btree2.js +++ b/jstests/core/geo_update_btree2.js @@ -3,6 +3,7 @@ // does_not_support_stepdowns, // requires_getmore, // requires_non_retryable_writes, +// sbe_incompatible, // ] // Tests whether the geospatial search is stable under btree updates diff --git a/jstests/core/geo_update_dedup.js b/jstests/core/geo_update_dedup.js index 324aa329ff7..34e9aff30dd 100644 --- a/jstests/core/geo_update_dedup.js +++ b/jstests/core/geo_update_dedup.js @@ -1,5 +1,9 @@ // Cannot implicitly shard accessed collections because single updates are not targeted. -// @tags: [assumes_unsharded_collection, requires_non_retryable_writes] +// @tags: [ +// assumes_unsharded_collection, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Test that updates with geo queries which match // the same document multiple times only apply diff --git a/jstests/core/geo_validate.js b/jstests/core/geo_validate.js index caee7720d58..cd839ef8f97 100644 --- a/jstests/core/geo_validate.js +++ b/jstests/core/geo_validate.js @@ -1,6 +1,9 @@ // // Test to make sure that invalid geo options are caught // +// @tags: [ +// sbe_incompatible, +// ] var coll = db.geo_validate; coll.drop(); diff --git a/jstests/core/geo_withinquery.js b/jstests/core/geo_withinquery.js index 24e463d8a9d..4b6f5110d9d 100644 --- a/jstests/core/geo_withinquery.js +++ b/jstests/core/geo_withinquery.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // SERVER-7343: allow $within without a geo index. t = db.geo_withinquery; diff --git a/jstests/core/geoa.js b/jstests/core/geoa.js index 73285e78a99..c1e0a2f796a 100644 --- a/jstests/core/geoa.js +++ b/jstests/core/geoa.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.geoa; t.drop(); diff --git a/jstests/core/geob.js b/jstests/core/geob.js index d1f01bf7b9c..6a7839253ee 100644 --- a/jstests/core/geob.js +++ b/jstests/core/geob.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ (function() { "use strict"; var t = db.geob; diff --git a/jstests/core/geoc.js b/jstests/core/geoc.js index db7144d8cd8..4264b6f9295 100644 --- a/jstests/core/geoc.js +++ b/jstests/core/geoc.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] t = db.geoc; t.drop(); diff --git a/jstests/core/geod.js b/jstests/core/geod.js index 055453254a5..fc6c37f1da3 100644 --- a/jstests/core/geod.js +++ b/jstests/core/geod.js @@ -5,6 +5,9 @@ t.save({loc: [0.5, 0]}); t.ensureIndex({loc: "2d"}); // do a few geoNears with different maxDistances. The first iteration // should match no points in the dataset. +// @tags: [ +// sbe_incompatible, +// ] dists = [.49, .51, 1.0]; for (idx in dists) { b = db.geod diff --git a/jstests/core/geoe.js b/jstests/core/geoe.js index 9568e13dc08..5fd2e80640b 100644 --- a/jstests/core/geoe.js +++ b/jstests/core/geoe.js @@ -3,6 +3,9 @@ // the first search for a matching point in the geo code could run to // the end of the btree and not reverse direction (leaving the rest of // the search always looking at some random non-matching point). +// @tags: [ +// sbe_incompatible, +// ] t = db.geo_box; t.drop(); diff --git a/jstests/core/geof.js b/jstests/core/geof.js index 4eae803a856..ad15037db3b 100644 --- a/jstests/core/geof.js +++ b/jstests/core/geof.js @@ -2,6 +2,9 @@ t = db.geof; t.drop(); // corners (dist ~0.98) +// @tags: [ +// sbe_incompatible, +// ] t.insert({loc: [0.7, 0.7]}); t.insert({loc: [0.7, -0.7]}); t.insert({loc: [-0.7, 0.7]}); diff --git a/jstests/core/geonear_cmd_input_validation.js b/jstests/core/geonear_cmd_input_validation.js index 611e29b01d1..2c3116c3a6d 100644 --- a/jstests/core/geonear_cmd_input_validation.js +++ b/jstests/core/geonear_cmd_input_validation.js @@ -1,6 +1,9 @@ // // Test input validation for geoNear command. // +// @tags: [ +// sbe_incompatible, +// ] var t = db.geonear_cmd_input_validation; t.drop(); t.ensureIndex({loc: "2dsphere"}); diff --git a/jstests/core/geonear_key.js b/jstests/core/geonear_key.js index 1ecce018b08..4621e173f0e 100644 --- a/jstests/core/geonear_key.js +++ b/jstests/core/geonear_key.js @@ -1,5 +1,8 @@ /** * Tests for the 'key' field accepted by the $geoNear aggregation stage. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/getlog2.js b/jstests/core/getlog2.js index 76478464567..497ef2ee7e8 100644 --- a/jstests/core/getlog2.js +++ b/jstests/core/getlog2.js @@ -6,6 +6,7 @@ // # be routed to the primary. // assumes_read_preference_unchanged, // does_not_support_stepdowns, +// sbe_incompatible, // ] load("jstests/libs/logv2_helpers.js"); diff --git a/jstests/core/getmore_cmd_maxtimems.js b/jstests/core/getmore_cmd_maxtimems.js index e37ee16b77a..7064e1a5ce0 100644 --- a/jstests/core/getmore_cmd_maxtimems.js +++ b/jstests/core/getmore_cmd_maxtimems.js @@ -1,6 +1,11 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_getmore, requires_capped] +// @tags: [ +// assumes_no_implicit_collection_creation_after_drop, +// requires_capped, +// requires_getmore, +// sbe_incompatible, +// ] // 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 57aa832f391..6b31495546f 100644 --- a/jstests/core/getmore_invalidated_cursors.js +++ b/jstests/core/getmore_invalidated_cursors.js @@ -1,5 +1,10 @@ -// @tags: [requires_getmore, requires_non_retryable_commands, requires_collstats, -// assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// requires_collstats, +// requires_getmore, +// requires_non_retryable_commands, +// sbe_incompatible, +// ] // Tests that running a getMore on a cursor that has been invalidated by something like a collection // drop will return an appropriate error message. diff --git a/jstests/core/getmore_invalidated_documents.js b/jstests/core/getmore_invalidated_documents.js index 72acb4a7cc8..3bc5458072e 100644 --- a/jstests/core/getmore_invalidated_documents.js +++ b/jstests/core/getmore_invalidated_documents.js @@ -1,7 +1,12 @@ // 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, requires_getmore, requires_non_retryable_writes] +// @tags: [ +// assumes_unsharded_collection, +// requires_getmore, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Tests for invalidation during a getmore. This behavior is storage-engine dependent. // See SERVER-16675. diff --git a/jstests/core/grow_hash_table.js b/jstests/core/grow_hash_table.js index 783616b93fb..18f588aae64 100644 --- a/jstests/core/grow_hash_table.js +++ b/jstests/core/grow_hash_table.js @@ -6,7 +6,10 @@ // // Related to SERVER-9824. // -// @tags: [operations_longer_than_stepdown_interval_in_txns] +// @tags: [ +// operations_longer_than_stepdown_interval_in_txns, +// sbe_incompatible, +// ] var testDB = db.getSiblingDB('grow_hash_table'); diff --git a/jstests/core/hashed_index_collation.js b/jstests/core/hashed_index_collation.js index f6c8382c3bc..ad3f0d110ad 100644 --- a/jstests/core/hashed_index_collation.js +++ b/jstests/core/hashed_index_collation.js @@ -6,6 +6,7 @@ * @tags: [ * assumes_unsharded_collection, * requires_find_command, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/hashed_index_covered_queries.js b/jstests/core/hashed_index_covered_queries.js index 0f04e469785..ccd3961ca6f 100644 --- a/jstests/core/hashed_index_covered_queries.js +++ b/jstests/core/hashed_index_covered_queries.js @@ -4,6 +4,7 @@ * * @tags: [ * assumes_unsharded_collection, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/hashed_index_queries.js b/jstests/core/hashed_index_queries.js index 719959a2025..6a33daee3f5 100644 --- a/jstests/core/hashed_index_queries.js +++ b/jstests/core/hashed_index_queries.js @@ -1,6 +1,9 @@ /** * Test to verify the behaviour of find, count, distinct operations in the presence of compound * hashed indexes. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/hashed_index_queries_with_logical_operators.js b/jstests/core/hashed_index_queries_with_logical_operators.js index 7514e86aaa4..cd8a9d8063b 100644 --- a/jstests/core/hashed_index_queries_with_logical_operators.js +++ b/jstests/core/hashed_index_queries_with_logical_operators.js @@ -3,6 +3,9 @@ * like $or, $not etc. In particular, the hashed field of a compound hashed index cannot generate * bounds for $not predicates, since we may incorrectly filter out matching documents that collide * with the same hash value as the one given in the predicate. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/hashed_index_sort.js b/jstests/core/hashed_index_sort.js index 5f8d87a752a..9c2f3ad5c6d 100644 --- a/jstests/core/hashed_index_sort.js +++ b/jstests/core/hashed_index_sort.js @@ -3,10 +3,11 @@ * the 'find' command. The test verifies compound hashed index with hashed prefix and non-hashed * prefix. * @tags: [ - * assumes_unsharded_collection, - * # Sort optimizations added in 4.7 can generate a different plan in the presence of equality - * # predicates. - * requires_fcv_47 + * assumes_unsharded_collection, + * # Sort optimizations added in 4.7 can generate a different plan in the presence of equality + * # predicates. + * requires_fcv_47, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/hashed_partial_and_sparse_index.js b/jstests/core/hashed_partial_and_sparse_index.js index cc6b5f30388..b0fd6ebf9d3 100644 --- a/jstests/core/hashed_partial_and_sparse_index.js +++ b/jstests/core/hashed_partial_and_sparse_index.js @@ -2,6 +2,9 @@ * Tests to verify that the queries return correct results in the presence of partial hashed * index and sparse index. The test verifies compound hashed index with hashed prefix and non-hashed * prefix. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/hidden_index.js b/jstests/core/hidden_index.js index 762c8127200..80e124ef5e7 100644 --- a/jstests/core/hidden_index.js +++ b/jstests/core/hidden_index.js @@ -3,7 +3,9 @@ * it will not be used in planning. It is handled in the same way as other indexes by the index * catalog and for TTL purposes. * @tags: [ - * requires_non_retryable_commands, # CollMod is not retryable. + * # CollMod is not retryable. + * requires_non_retryable_commands, + * sbe_incompatible, * ] */ diff --git a/jstests/core/idhack.js b/jstests/core/idhack.js index a06e1fd287b..a884fecd920 100644 --- a/jstests/core/idhack.js +++ b/jstests/core/idhack.js @@ -1,6 +1,7 @@ // @tags: [ // assumes_balancer_off, // requires_non_retryable_writes, +// sbe_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/in.js b/jstests/core/in.js index 852f6bcbca4..0afa2d1d840 100644 --- a/jstests/core/in.js +++ b/jstests/core/in.js @@ -6,6 +6,9 @@ t.save({a: 1}); t.save({a: 2}); // $in must take an array as argument: SERVER-7445 +// @tags: [ +// sbe_incompatible, +// ] assert.throws(function() { return t.find({a: {$in: {x: 1}}}).itcount(); }); diff --git a/jstests/core/in5.js b/jstests/core/in5.js index 69b7bad75dd..e89dc2fd2b7 100644 --- a/jstests/core/in5.js +++ b/jstests/core/in5.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] t = db.in5; diff --git a/jstests/core/index13.js b/jstests/core/index13.js index ec35bc8a669..bc70193ff25 100644 --- a/jstests/core/index13.js +++ b/jstests/core/index13.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_fastcount, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Top level match fields within an $elemMatch clause may constrain multiple subfields from a // compound multikey index. SERVER-3104 diff --git a/jstests/core/index2.js b/jstests/core/index2.js index 11ef4e68caa..e12ece27019 100644 --- a/jstests/core/index2.js +++ b/jstests/core/index2.js @@ -1,4 +1,7 @@ -/* test indexing where the key is an embedded object. +/**test indexing where the key is an embedded object. + * @tags: [ + * sbe_incompatible, + * ] */ t = db.embeddedIndexTest2; diff --git a/jstests/core/index4.js b/jstests/core/index4.js index b9411a8fe37..aec7ed5f145 100644 --- a/jstests/core/index4.js +++ b/jstests/core/index4.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // index4.js diff --git a/jstests/core/index_bounds_code.js b/jstests/core/index_bounds_code.js index 52eec12c26b..d2d8dd9fbb1 100644 --- a/jstests/core/index_bounds_code.js +++ b/jstests/core/index_bounds_code.js @@ -1,5 +1,9 @@ // Index bounds generation tests for Code/CodeWSCope values. -// @tags: [requires_non_retryable_writes, assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/index_bounds_maxkey.js b/jstests/core/index_bounds_maxkey.js index 1b59340fffe..aacfe8c8c8e 100644 --- a/jstests/core/index_bounds_maxkey.js +++ b/jstests/core/index_bounds_maxkey.js @@ -2,6 +2,7 @@ // @tags: [ // assumes_unsharded_collection, // requires_non_retryable_writes, +// sbe_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/index_bounds_minkey.js b/jstests/core/index_bounds_minkey.js index 78efd322b12..693d124d42c 100644 --- a/jstests/core/index_bounds_minkey.js +++ b/jstests/core/index_bounds_minkey.js @@ -2,6 +2,7 @@ // @tags: [ // assumes_unsharded_collection, // requires_non_retryable_writes, +// sbe_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/index_bounds_object.js b/jstests/core/index_bounds_object.js index 1b7e12fbd62..8faac1b5d8a 100644 --- a/jstests/core/index_bounds_object.js +++ b/jstests/core/index_bounds_object.js @@ -1,5 +1,9 @@ // Index bounds generation tests for Object values. -// @tags: [requires_non_retryable_writes, assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/index_bounds_pipe.js b/jstests/core/index_bounds_pipe.js index 35e33e27276..8989d249b8a 100644 --- a/jstests/core/index_bounds_pipe.js +++ b/jstests/core/index_bounds_pipe.js @@ -1,6 +1,9 @@ /** * Tests the tightness of index bounds when attempting to match a regex that contains escaped and * non-escaped pipe '|' characters. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/index_bounds_timestamp.js b/jstests/core/index_bounds_timestamp.js index c500f12202b..99260e1d267 100644 --- a/jstests/core/index_bounds_timestamp.js +++ b/jstests/core/index_bounds_timestamp.js @@ -1,6 +1,9 @@ // Index bounds generation tests for Timestamp values. // This file tests whether index bounds for timestamps are generated properly in terms of // inclusiveness and exactness. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/index_check2.js b/jstests/core/index_check2.js index 85f49aa1d14..8feeb7d42a8 100644 --- a/jstests/core/index_check2.js +++ b/jstests/core/index_check2.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// requires_getmore, +// sbe_incompatible, +// ] t = db.index_check2; t.drop(); diff --git a/jstests/core/index_check3.js b/jstests/core/index_check3.js index 89e3bba439f..306b7415592 100644 --- a/jstests/core/index_check3.js +++ b/jstests/core/index_check3.js @@ -1,4 +1,7 @@ -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] t = db.index_check3; t.drop(); diff --git a/jstests/core/index_check6.js b/jstests/core/index_check6.js index 6e5ccdb7a4c..20310d2b0dd 100644 --- a/jstests/core/index_check6.js +++ b/jstests/core/index_check6.js @@ -1,6 +1,9 @@ // This test makes assertions about how many keys are examined during query execution, which can // change depending on whether/how many documents are filtered out by the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] t = db.index_check6; t.drop(); diff --git a/jstests/core/index_check7.js b/jstests/core/index_check7.js index d02725616a8..ae7ae7c9c71 100644 --- a/jstests/core/index_check7.js +++ b/jstests/core/index_check7.js @@ -1,4 +1,7 @@ -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] t = db.index_check7; t.drop(); diff --git a/jstests/core/index_decimal.js b/jstests/core/index_decimal.js index 73f74eda0f7..d7601b81bd7 100644 --- a/jstests/core/index_decimal.js +++ b/jstests/core/index_decimal.js @@ -1,7 +1,10 @@ // Cannot implicitly shard accessed collections because queries on a sharded collection are not // able to be covered when they aren't on the shard key since the document needs to be fetched in // order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] // Test indexing of decimal numbers (function() { diff --git a/jstests/core/index_diag.js b/jstests/core/index_diag.js index 686a9e34b02..b336e5cc141 100644 --- a/jstests/core/index_diag.js +++ b/jstests/core/index_diag.js @@ -1,5 +1,6 @@ // @tags: [ // assumes_balancer_off, +// sbe_incompatible, // ] load("jstests/libs/fixture_helpers.js"); diff --git a/jstests/core/index_elemmatch1.js b/jstests/core/index_elemmatch1.js index 3957e9d185c..23e92aedf78 100644 --- a/jstests/core/index_elemmatch1.js +++ b/jstests/core/index_elemmatch1.js @@ -1,6 +1,9 @@ /** * Tests find with $elemMatch when supporting indexes are in place. - * @tags: [assumes_balancer_off] + * @tags: [ + * assumes_balancer_off, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/index_elemmatch2.js b/jstests/core/index_elemmatch2.js index 19d744ce41d..d90606ff1ba 100644 --- a/jstests/core/index_elemmatch2.js +++ b/jstests/core/index_elemmatch2.js @@ -1,6 +1,9 @@ /** * Test that queries containing $elemMatch correctly use an index if each child expression is * compatible with the index. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/index_filter_catalog_independent.js b/jstests/core/index_filter_catalog_independent.js index 32c7c1669a6..2712640bd1a 100644 --- a/jstests/core/index_filter_catalog_independent.js +++ b/jstests/core/index_filter_catalog_independent.js @@ -4,10 +4,10 @@ * * @tags: [ * # This test performs queries with index filters set up. Since index filters are local to a - * # mongod, and do not replicate, this test must issue all of its commands against the same - * # node. + * # mongod, and do not replicate, this test must issue all of its commands against the same node. * assumes_read_preference_unchanged, * does_not_support_stepdowns, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/index_filter_collation.js b/jstests/core/index_filter_collation.js index d6fa0daaa73..c23fd18c643 100644 --- a/jstests/core/index_filter_collation.js +++ b/jstests/core/index_filter_collation.js @@ -1,13 +1,14 @@ /** * Test that index filters are applied with the correct collation. * @tags: [ + * # Needs to create a collection with a collation. + * assumes_no_implicit_collection_creation_after_drop, * # This test attempts to perform queries with plan cache filters set up. The former operation * # may be routed to a secondary in the replica set, whereas the latter must be routed to the * # primary. * assumes_read_preference_unchanged, * does_not_support_stepdowns, - * # Needs to create a collection with a collation. - * assumes_no_implicit_collection_creation_after_drop + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/index_filter_commands.js b/jstests/core/index_filter_commands.js index 9eb5e5f6688..cf40d986e50 100644 --- a/jstests/core/index_filter_commands.js +++ b/jstests/core/index_filter_commands.js @@ -26,10 +26,11 @@ * # This test attempts to perform queries with plan cache filters set up. The former operation * # may be routed to a secondary in the replica set, whereas the latter must be routed to the * # primary. - * assumes_read_preference_unchanged, * assumes_read_concern_unchanged, - * does_not_support_stepdowns, + * assumes_read_preference_unchanged, * assumes_unsharded_collection, + * does_not_support_stepdowns, + * sbe_incompatible, * ] */ diff --git a/jstests/core/index_filter_on_hidden_index.js b/jstests/core/index_filter_on_hidden_index.js index c3a93e25a6c..a5b6b00e526 100644 --- a/jstests/core/index_filter_on_hidden_index.js +++ b/jstests/core/index_filter_on_hidden_index.js @@ -10,8 +10,9 @@ * used until it is made visible. * * @tags: [ - * # Command 'planCacheSetFilter' may return different values after a failover. - * does_not_support_stepdowns, + * # Command 'planCacheSetFilter' may return different values after a failover. + * does_not_support_stepdowns, + * sbe_incompatible, * ] */ diff --git a/jstests/core/index_large_and_small_dates.js b/jstests/core/index_large_and_small_dates.js index 759f5b762a2..66df2ac8661 100644 --- a/jstests/core/index_large_and_small_dates.js +++ b/jstests/core/index_large_and_small_dates.js @@ -4,6 +4,9 @@ const coll = db.index_dates; coll.drop(); // Min value for JS Date(). +// @tags: [ +// sbe_incompatible, +// ] const d1 = new Date(-8640000000000000); assert.commandWorked(coll.insert({_id: 1, d: d1})); // Max value for JS Date(). diff --git a/jstests/core/index_multikey.js b/jstests/core/index_multikey.js index 32ff3bd58c4..fe25656eb02 100644 --- a/jstests/core/index_multikey.js +++ b/jstests/core/index_multikey.js @@ -1,6 +1,9 @@ /** * Tests that an index properly reports multikeyness and multikey paths metadata in the presence of * successful and unsuccessful inserts. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/index_partial_2dsphere.js b/jstests/core/index_partial_2dsphere.js index a194cf30d84..21f34bf932a 100644 --- a/jstests/core/index_partial_2dsphere.js +++ b/jstests/core/index_partial_2dsphere.js @@ -1,6 +1,9 @@ // A document with invalid GeoJSON should be able to be removed or updated when it is not part of // a partial index filter. -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] (function() { diff --git a/jstests/core/index_partial_read_ops.js b/jstests/core/index_partial_read_ops.js index 31ee6009b12..c738201a807 100644 --- a/jstests/core/index_partial_read_ops.js +++ b/jstests/core/index_partial_read_ops.js @@ -1,6 +1,11 @@ // 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, does_not_support_stepdowns, requires_fcv_47] +// @tags: [ +// assumes_unsharded_collection, +// does_not_support_stepdowns, +// requires_fcv_47, +// sbe_incompatible, +// ] // Read ops tests for partial indexes. diff --git a/jstests/core/index_sort_within_multiple_point_ranges.js b/jstests/core/index_sort_within_multiple_point_ranges.js index bbf175e9d9e..d75859286b3 100644 --- a/jstests/core/index_sort_within_multiple_point_ranges.js +++ b/jstests/core/index_sort_within_multiple_point_ranges.js @@ -1,4 +1,4 @@ -/* +/** * This is a regression test for SERVER-45508, which was an invariant failure in the query planner. * * Previously the invariant would be triggered only when all of these happen together: @@ -7,7 +7,10 @@ * - the point ranges are indexed in descending order * - more than one index can satisfy the query * - the query asks for a sort within each point range - * @tags: [assumes_no_implicit_collection_creation_after_drop] + * @tags: [ + * assumes_no_implicit_collection_creation_after_drop, + * sbe_incompatible, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/index_stats.js b/jstests/core/index_stats.js index a23f54d6f33..1d465e3f681 100644 --- a/jstests/core/index_stats.js +++ b/jstests/core/index_stats.js @@ -9,6 +9,7 @@ // assumes_unsharded_collection, // does_not_support_stepdowns, // requires_non_retryable_writes, +// sbe_incompatible, // ] (function() { diff --git a/jstests/core/index_type_change.js b/jstests/core/index_type_change.js index 96f020c9ec8..4ecb5081347 100644 --- a/jstests/core/index_type_change.js +++ b/jstests/core/index_type_change.js @@ -1,7 +1,10 @@ // 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, +// sbe_incompatible, +// ] /** * Tests that replacing a document with an equivalent document with different types for the fields diff --git a/jstests/core/indexes_multiple_commands.js b/jstests/core/indexes_multiple_commands.js index f2b97f0e4f5..abcb7b58500 100644 --- a/jstests/core/indexes_multiple_commands.js +++ b/jstests/core/indexes_multiple_commands.js @@ -1,6 +1,9 @@ // 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, +// sbe_incompatible, +// ] // Test that commands behave correctly under the presence of multiple indexes with the same key // pattern. diff --git a/jstests/core/indexf.js b/jstests/core/indexf.js index 5a126b3e22f..cbe1b968b5e 100644 --- a/jstests/core/indexf.js +++ b/jstests/core/indexf.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.indexf; t.drop(); diff --git a/jstests/core/indexj.js b/jstests/core/indexj.js index 4236ce0a535..76bf8cb17e9 100644 --- a/jstests/core/indexj.js +++ b/jstests/core/indexj.js @@ -1,7 +1,10 @@ // SERVER-726 // This test makes assertions about how many keys are examined during query execution, which can // change depending on whether/how many documents are filtered out by the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] t = db.jstests_indexj; t.drop(); diff --git a/jstests/core/indexn.js b/jstests/core/indexn.js index 416f0ec31b2..014ba050cbc 100644 --- a/jstests/core/indexn.js +++ b/jstests/core/indexn.js @@ -1,5 +1,8 @@ // Test "impossible match" queries, or queries that will always have // an empty result set. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_indexn; t.drop(); diff --git a/jstests/core/indexr.js b/jstests/core/indexr.js index 9d8f9a29ea8..15cd56e9681 100644 --- a/jstests/core/indexr.js +++ b/jstests/core/indexr.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Check multikey index cases with parallel nested fields SERVER-958. diff --git a/jstests/core/indexu.js b/jstests/core/indexu.js index d430f936696..22af42d5d6a 100644 --- a/jstests/core/indexu.js +++ b/jstests/core/indexu.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Test index key generation with duplicate values addressed by array index and // object field. SERVER-2902 diff --git a/jstests/core/introspect_hidden_index_plan_cache_entries.js b/jstests/core/introspect_hidden_index_plan_cache_entries.js index 78e2beb32ed..1ba2950b7ae 100644 --- a/jstests/core/introspect_hidden_index_plan_cache_entries.js +++ b/jstests/core/introspect_hidden_index_plan_cache_entries.js @@ -1,4 +1,4 @@ -/* +/** * Test that the query plan cache will be cleared for the given collection on hiding or unhiding an * index. * @@ -6,8 +6,9 @@ * # This test attempts to perform queries and introspect the server's plan cache entries. The * # former operation may be routed to a secondary in the replica set, whereas the latter must be * # routed to the primary. - * assumes_read_preference_unchanged, * assumes_read_concern_unchanged, + * assumes_read_preference_unchanged, + * sbe_incompatible, * ] */ diff --git a/jstests/core/invalidated_legacy_cursors.js b/jstests/core/invalidated_legacy_cursors.js index 95cb1a0802f..a72f7f572a9 100644 --- a/jstests/core/invalidated_legacy_cursors.js +++ b/jstests/core/invalidated_legacy_cursors.js @@ -1,7 +1,12 @@ -/* +/** * Test that all DBClientCursor cursor types throw an exception when the server returns * CursorNotFound. - * @tags: [requires_getmore, requires_non_retryable_commands, assumes_balancer_off] + * @tags: [ + * assumes_balancer_off, + * requires_getmore, + * requires_non_retryable_commands, + * sbe_incompatible, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/js1.js b/jstests/core/js1.js index 7c8c16a8236..ecb81046e53 100644 --- a/jstests/core/js1.js +++ b/jstests/core/js1.js @@ -1,8 +1,8 @@ // @tags: [ -// requires_non_retryable_writes, -// -// # Uses $where operator -// requires_scripting +// requires_non_retryable_writes, +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.jstests_js1; diff --git a/jstests/core/js3.js b/jstests/core/js3.js index b5ad9ae03fd..89847210714 100644 --- a/jstests/core/js3.js +++ b/jstests/core/js3.js @@ -1,8 +1,9 @@ // @tags: [ // assumes_unsharded_collection, +// requires_fastcount, // requires_javascript, // requires_non_retryable_commands, -// requires_fastcount, +// sbe_incompatible, // ] t = db.jstests_js3; diff --git a/jstests/core/js4.js b/jstests/core/js4.js index 6c9f158de6a..cff3d077acf 100644 --- a/jstests/core/js4.js +++ b/jstests/core/js4.js @@ -1,6 +1,7 @@ // @tags: [ -// # Uses $where operator -// requires_scripting +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.jstests_js4; diff --git a/jstests/core/js8.js b/jstests/core/js8.js index 9504d2a7ac5..d322bf7bd5e 100644 --- a/jstests/core/js8.js +++ b/jstests/core/js8.js @@ -1,6 +1,7 @@ // @tags: [ -// # Uses $where operator -// requires_scripting, +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.jstests_js8; diff --git a/jstests/core/json_schema/additional_items.js b/jstests/core/json_schema/additional_items.js index 7165e9d4363..fdab99cd64b 100644 --- a/jstests/core/json_schema/additional_items.js +++ b/jstests/core/json_schema/additional_items.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 0a78d2415ef..9145d74016c 100644 --- a/jstests/core/json_schema/additional_properties.js +++ b/jstests/core/json_schema/additional_properties.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * Tests for the JSON Schema 'additionalProperties' keyword. diff --git a/jstests/core/json_schema/bsontype.js b/jstests/core/json_schema/bsontype.js index ac874c66788..08e0a925065 100644 --- a/jstests/core/json_schema/bsontype.js +++ b/jstests/core/json_schema/bsontype.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 ffcd917889b..d63ee75af54 100644 --- a/jstests/core/json_schema/dependencies.js +++ b/jstests/core/json_schema/dependencies.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * Tests for the JSON Schema 'dependencies' keyword. diff --git a/jstests/core/json_schema/encrypt.js b/jstests/core/json_schema/encrypt.js index 32d93f43da4..1754b9490bb 100644 --- a/jstests/core/json_schema/encrypt.js +++ b/jstests/core/json_schema/encrypt.js @@ -3,6 +3,7 @@ * * @tags: [ * requires_non_retryable_commands, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/json_schema/items.js b/jstests/core/json_schema/items.js index 3bb71c79c7d..b9fd63611cd 100644 --- a/jstests/core/json_schema/items.js +++ b/jstests/core/json_schema/items.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 7611cefaa3a..857f576f86a 100644 --- a/jstests/core/json_schema/json_schema.js +++ b/jstests/core/json_schema/json_schema.js @@ -1,5 +1,9 @@ // listCollections tests expect that a collection is not implicitly created after a drop. -// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] +// @tags: [ +// assumes_no_implicit_collection_creation_after_drop, +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 3b7895f27cd..0b7727b49d8 100644 --- a/jstests/core/json_schema/logical_keywords.js +++ b/jstests/core/json_schema/logical_keywords.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 3c27283a037..8b276411edc 100644 --- a/jstests/core/json_schema/min_max_items.js +++ b/jstests/core/json_schema/min_max_items.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 975a22fd527..cba210d9c68 100644 --- a/jstests/core/json_schema/min_max_properties.js +++ b/jstests/core/json_schema/min_max_properties.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 045a7c74878..2949a55ed92 100644 --- a/jstests/core/json_schema/misc_validation.js +++ b/jstests/core/json_schema/misc_validation.js @@ -1,4 +1,4 @@ -/* +/** * Test for $jsonSchema behavior in contexts other than document validation, including: * - read commands (count, geoNear, distinct, etc) * - queries that specify a collation @@ -17,6 +17,7 @@ * requires_non_retryable_commands, * requires_non_retryable_writes, * requires_replication, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/json_schema/pattern_properties.js b/jstests/core/json_schema/pattern_properties.js index 4c75b78f72a..f09a030633a 100644 --- a/jstests/core/json_schema/pattern_properties.js +++ b/jstests/core/json_schema/pattern_properties.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * Tests for the JSON Schema 'patternProperties' keyword. diff --git a/jstests/core/json_schema/required.js b/jstests/core/json_schema/required.js index a9a0cd67a48..e3b62ddd1ba 100644 --- a/jstests/core/json_schema/required.js +++ b/jstests/core/json_schema/required.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * 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 955bae74e88..4654f515465 100644 --- a/jstests/core/json_schema/unique_items.js +++ b/jstests/core/json_schema/unique_items.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * Tests the JSON Schema "uniqueItems" keyword. diff --git a/jstests/core/list_sessions.js b/jstests/core/list_sessions.js index 65345ca7c01..76d93c0d9f5 100644 --- a/jstests/core/list_sessions.js +++ b/jstests/core/list_sessions.js @@ -2,6 +2,7 @@ // startSession may cause this test to fail to find the returned sessionId. // @tags: [ // does_not_support_stepdowns, +// sbe_incompatible, // uses_testing_only_commands, // ] diff --git a/jstests/core/map_reduce_validation.js b/jstests/core/map_reduce_validation.js index 953bc360626..c59bceb99bf 100644 --- a/jstests/core/map_reduce_validation.js +++ b/jstests/core/map_reduce_validation.js @@ -2,6 +2,7 @@ // @tags: [ // assumes_no_implicit_collection_creation_after_drop, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/min_max_bounds.js b/jstests/core/min_max_bounds.js index 8419e3c0eca..dd9625b95cf 100644 --- a/jstests/core/min_max_bounds.js +++ b/jstests/core/min_max_bounds.js @@ -1,6 +1,9 @@ /** * This test ensures that queries using simple ranges handle bound inclusion properly. - * @tags: [assumes_balancer_off] + * @tags: [ + * assumes_balancer_off, + * sbe_incompatible, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/min_max_key.js b/jstests/core/min_max_key.js index b9e9c3d6b89..2d3dbbb87e5 100644 --- a/jstests/core/min_max_key.js +++ b/jstests/core/min_max_key.js @@ -1,4 +1,7 @@ // Tests the behavior of queries using MinKey and MaxKey +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/mod1.js b/jstests/core/mod1.js index c325c3ee315..64c607d5cf7 100644 --- a/jstests/core/mod1.js +++ b/jstests/core/mod1.js @@ -1,8 +1,9 @@ // Tests the behavior of $mod for match expressions. // @tags: [ -// # Uses $where operator -// requires_scripting, -// assumes_balancer_off +// assumes_balancer_off, +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] (function() { diff --git a/jstests/core/mod_overflow.js b/jstests/core/mod_overflow.js index 2ec33300ce7..5584f77dc75 100644 --- a/jstests/core/mod_overflow.js +++ b/jstests/core/mod_overflow.js @@ -1,6 +1,9 @@ /** * Tests that modding the smallest representable integer values by -1 does not result in integer * overflow. Exercises the fix for SERVER-43699. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/mr_agg_explain.js b/jstests/core/mr_agg_explain.js index e3d7a1be612..7d1d11bb28a 100644 --- a/jstests/core/mr_agg_explain.js +++ b/jstests/core/mr_agg_explain.js @@ -2,6 +2,7 @@ * Tests that running mapReduce with explain behaves as expected. * @tags: [ * incompatible_with_embedded, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/mr_bigobject.js b/jstests/core/mr_bigobject.js index ed534f8fc67..a9b9bd03047 100644 --- a/jstests/core/mr_bigobject.js +++ b/jstests/core/mr_bigobject.js @@ -4,6 +4,7 @@ // does_not_support_causal_consistency, // does_not_support_stepdowns, // requires_fastcount, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_bigobject_replace.js b/jstests/core/mr_bigobject_replace.js index e9fc2c0aba3..20c2356e26f 100644 --- a/jstests/core/mr_bigobject_replace.js +++ b/jstests/core/mr_bigobject_replace.js @@ -5,6 +5,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] diff --git a/jstests/core/mr_comments.js b/jstests/core/mr_comments.js index 48441078ebb..4b2489d1df7 100644 --- a/jstests/core/mr_comments.js +++ b/jstests/core/mr_comments.js @@ -3,6 +3,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_compute_avg.js b/jstests/core/mr_compute_avg.js index a0320679ea0..3f51d84b6b1 100644 --- a/jstests/core/mr_compute_avg.js +++ b/jstests/core/mr_compute_avg.js @@ -9,6 +9,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_correctness.js b/jstests/core/mr_correctness.js index 9dc6aaf1c4c..815c20fc7e8 100644 --- a/jstests/core/mr_correctness.js +++ b/jstests/core/mr_correctness.js @@ -5,6 +5,7 @@ // does_not_support_stepdowns, // requires_fastcount, // requires_getmore, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_fail_invalid_js.js b/jstests/core/mr_fail_invalid_js.js index 01b422c1fe3..1361c72a51b 100644 --- a/jstests/core/mr_fail_invalid_js.js +++ b/jstests/core/mr_fail_invalid_js.js @@ -4,6 +4,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_killop.js b/jstests/core/mr_killop.js index 925da1118b8..d0626047ed9 100644 --- a/jstests/core/mr_killop.js +++ b/jstests/core/mr_killop.js @@ -3,6 +3,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // uses_multiple_connections, // uses_parallel_shell, diff --git a/jstests/core/mr_merge.js b/jstests/core/mr_merge.js index fa9d2c3d873..1f00a898e49 100644 --- a/jstests/core/mr_merge.js +++ b/jstests/core/mr_merge.js @@ -6,6 +6,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_multikey_deduping.js b/jstests/core/mr_multikey_deduping.js index ea1ddcfb2c6..604635a67fc 100644 --- a/jstests/core/mr_multikey_deduping.js +++ b/jstests/core/mr_multikey_deduping.js @@ -7,6 +7,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] diff --git a/jstests/core/mr_mutable_properties.js b/jstests/core/mr_mutable_properties.js index d7399fa337e..213ac1fbd76 100644 --- a/jstests/core/mr_mutable_properties.js +++ b/jstests/core/mr_mutable_properties.js @@ -2,6 +2,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // ] // See SERVER-9448 diff --git a/jstests/core/mr_null_arguments.js b/jstests/core/mr_null_arguments.js index 5cca8210656..9eeec78654d 100644 --- a/jstests/core/mr_null_arguments.js +++ b/jstests/core/mr_null_arguments.js @@ -5,6 +5,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_preserve_indexes.js b/jstests/core/mr_preserve_indexes.js index dd4f47af171..a4e33166937 100644 --- a/jstests/core/mr_preserve_indexes.js +++ b/jstests/core/mr_preserve_indexes.js @@ -3,6 +3,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_reduce.js b/jstests/core/mr_reduce.js index aded1cf471d..37ef489b9be 100644 --- a/jstests/core/mr_reduce.js +++ b/jstests/core/mr_reduce.js @@ -6,6 +6,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_reduce_merge_other_db.js b/jstests/core/mr_reduce_merge_other_db.js index 80edc601aa2..ec8069d3254 100644 --- a/jstests/core/mr_reduce_merge_other_db.js +++ b/jstests/core/mr_reduce_merge_other_db.js @@ -2,6 +2,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_replace_into_other_db.js b/jstests/core/mr_replace_into_other_db.js index 274aeee3b3b..fe1ec71b70e 100644 --- a/jstests/core/mr_replace_into_other_db.js +++ b/jstests/core/mr_replace_into_other_db.js @@ -1,9 +1,10 @@ // @tags: [ +// assumes_unsharded_collection, // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, -// assumes_unsharded_collection, // ] // (function() { diff --git a/jstests/core/mr_scope.js b/jstests/core/mr_scope.js index 017d39b9268..04f7e77dbb1 100644 --- a/jstests/core/mr_scope.js +++ b/jstests/core/mr_scope.js @@ -3,6 +3,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/mr_sort.js b/jstests/core/mr_sort.js index 39f92b4143c..df98e6a6d3d 100644 --- a/jstests/core/mr_sort.js +++ b/jstests/core/mr_sort.js @@ -5,6 +5,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] diff --git a/jstests/core/mr_stored.js b/jstests/core/mr_stored.js index 3873bb27d70..58f86d58730 100644 --- a/jstests/core/mr_stored.js +++ b/jstests/core/mr_stored.js @@ -6,6 +6,7 @@ // does_not_support_causal_consistency, // does_not_support_stepdowns, // requires_non_retryable_writes, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] /** diff --git a/jstests/core/mr_tolerates_js_exception.js b/jstests/core/mr_tolerates_js_exception.js index e291639cb92..5a1c0f2f69f 100644 --- a/jstests/core/mr_tolerates_js_exception.js +++ b/jstests/core/mr_tolerates_js_exception.js @@ -7,6 +7,7 @@ * does_not_support_causal_consistency, * does_not_support_stepdowns, * requires_scripting, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/mr_use_this_object.js b/jstests/core/mr_use_this_object.js index 8c6061d0fa8..b108d046efd 100644 --- a/jstests/core/mr_use_this_object.js +++ b/jstests/core/mr_use_this_object.js @@ -4,6 +4,7 @@ // # mapReduce does not support afterClusterTime. // does_not_support_causal_consistency, // does_not_support_stepdowns, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] (function() { diff --git a/jstests/core/multikey_geonear.js b/jstests/core/multikey_geonear.js index 6d796cb62ff..ad24afb0c98 100644 --- a/jstests/core/multikey_geonear.js +++ b/jstests/core/multikey_geonear.js @@ -1,5 +1,8 @@ // Test that we correct return results for compound 2d and 2dsphere indices in // both the multikey and non-multikey cases. +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_multikey_geonear; t.drop(); diff --git a/jstests/core/nan.js b/jstests/core/nan.js index fbdba566d7b..76d8b3e2141 100644 --- a/jstests/core/nan.js +++ b/jstests/core/nan.js @@ -1,5 +1,8 @@ /** * Tests basic NaN handling. Note that WiredTiger indexes handle -NaN and NaN differently. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/ne1.js b/jstests/core/ne1.js index ba0bf7a3de7..c324ab08c26 100644 --- a/jstests/core/ne1.js +++ b/jstests/core/ne1.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.ne1; t.drop(); diff --git a/jstests/core/ne2.js b/jstests/core/ne2.js index 8814688a45b..db2ee7b01e5 100644 --- a/jstests/core/ne2.js +++ b/jstests/core/ne2.js @@ -1,4 +1,7 @@ // check that we don't scan $ne values +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_ne2; t.drop(); diff --git a/jstests/core/ne_array.js b/jstests/core/ne_array.js index e703d4b13a4..bdb0667cba5 100644 --- a/jstests/core/ne_array.js +++ b/jstests/core/ne_array.js @@ -2,7 +2,10 @@ // cannot "naively" use an index. That is, it cannot use an index by simply generating bounds for // {$eq: <array>} query and then complementing them. This test checks that the correct results are // returned for this type of query when an index is present. -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] (function() { const coll = db.ne_array; coll.drop(); diff --git a/jstests/core/not2.js b/jstests/core/not2.js index 0692c297762..4de74827a49 100644 --- a/jstests/core/not2.js +++ b/jstests/core/not2.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/not3.js b/jstests/core/not3.js index 9f3014f2c1a..d7b8e33d2ee 100644 --- a/jstests/core/not3.js +++ b/jstests/core/not3.js @@ -1,5 +1,8 @@ // Check that we return the correct results for negations over a // multikey index. +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_not3; t.drop(); diff --git a/jstests/core/notablescan.js b/jstests/core/notablescan.js index 2bbc300238d..eca1bd2e787 100644 --- a/jstests/core/notablescan.js +++ b/jstests/core/notablescan.js @@ -8,6 +8,7 @@ // assumes_read_preference_unchanged, // assumes_superuser_permissions, // does_not_support_stepdowns, +// sbe_incompatible, // ] t = db.test_notablescan; diff --git a/jstests/core/null_query_semantics.js b/jstests/core/null_query_semantics.js index 00aaacd6ed0..e13e0f5d0a8 100644 --- a/jstests/core/null_query_semantics.js +++ b/jstests/core/null_query_semantics.js @@ -1,4 +1,7 @@ // Tests the behavior of queries with a {$eq: null} or {$ne: null} predicate. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/numberlong2.js b/jstests/core/numberlong2.js index ca162ddf53f..4eadb744131 100644 --- a/jstests/core/numberlong2.js +++ b/jstests/core/numberlong2.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Test precision of NumberLong values with v1 index code SERVER-3717 diff --git a/jstests/core/operation_latency_histogram.js b/jstests/core/operation_latency_histogram.js index 08ed2312e03..2bda026025c 100644 --- a/jstests/core/operation_latency_histogram.js +++ b/jstests/core/operation_latency_histogram.js @@ -6,9 +6,10 @@ // compact does not exist on such storage engines. // // @tags: [ -// assumes_read_preference_unchanged, -// requires_collstats, -// incompatible_with_embedded, +// assumes_read_preference_unchanged, +// incompatible_with_embedded, +// requires_collstats, +// sbe_incompatible, // ] // diff --git a/jstests/core/optimized_match_explain.js b/jstests/core/optimized_match_explain.js index f62474124b4..898a37e30c9 100644 --- a/jstests/core/optimized_match_explain.js +++ b/jstests/core/optimized_match_explain.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// sbe_incompatible, +// ] /** * Tests that the explain output for $match reflects any optimizations. diff --git a/jstests/core/or1.js b/jstests/core/or1.js index c5975a058f2..db6767923d1 100644 --- a/jstests/core/or1.js +++ b/jstests/core/or1.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.jstests_or1; t.drop(); diff --git a/jstests/core/or2.js b/jstests/core/or2.js index 93f738a866d..5b520197eba 100644 --- a/jstests/core/or2.js +++ b/jstests/core/or2.js @@ -2,6 +2,9 @@ t = db.jstests_or2; t.drop(); // Include helpers for analyzing explain output. +// @tags: [ +// sbe_incompatible, +// ] load("jstests/libs/analyze_plan.js"); checkArrs = function(a, b) { diff --git a/jstests/core/or3.js b/jstests/core/or3.js index 0c831c8987b..22a26d571ca 100644 --- a/jstests/core/or3.js +++ b/jstests/core/or3.js @@ -2,6 +2,9 @@ t = db.jstests_or3; t.drop(); // Include helpers for analyzing explain output. +// @tags: [ +// sbe_incompatible, +// ] load("jstests/libs/analyze_plan.js"); checkArrs = function(a, b) { diff --git a/jstests/core/or4.js b/jstests/core/or4.js index 8cb5163544a..f065ccbec86 100644 --- a/jstests/core/or4.js +++ b/jstests/core/or4.js @@ -3,6 +3,7 @@ // requires_fastcount, // requires_getmore, // requires_non_retryable_writes, +// sbe_incompatible, // ] load("jstests/aggregation/extras/utils.js"); // For resultsEq diff --git a/jstests/core/or5.js b/jstests/core/or5.js index e0af20752f0..40d7792eeeb 100644 --- a/jstests/core/or5.js +++ b/jstests/core/or5.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] t = db.jstests_or5; t.drop(); diff --git a/jstests/core/or6.js b/jstests/core/or6.js index 2a8263e298f..144f9ed7e9e 100644 --- a/jstests/core/or6.js +++ b/jstests/core/or6.js @@ -1,4 +1,7 @@ // A few rooted $or cases. +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_orq; t.drop(); diff --git a/jstests/core/or8.js b/jstests/core/or8.js index def8a79c19e..41537dbdf83 100644 --- a/jstests/core/or8.js +++ b/jstests/core/or8.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // missing collection diff --git a/jstests/core/or_inexact.js b/jstests/core/or_inexact.js index 17aeea618b3..d6a51d66259 100644 --- a/jstests/core/or_inexact.js +++ b/jstests/core/or_inexact.js @@ -1,5 +1,8 @@ // Test $or with predicates that generate inexact bounds. The access planner // has special logic for such queries. +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_or_inexact; var cursor; diff --git a/jstests/core/ord.js b/jstests/core/ord.js index 2cd2cef0a66..ddbae540ffc 100644 --- a/jstests/core/ord.js +++ b/jstests/core/ord.js @@ -1,4 +1,7 @@ // check that we don't crash if an index used by an earlier or clause is dropped +// @tags: [ +// sbe_incompatible, +// ] // Dropping an index kills all cursors on the indexed namespace, not just those // cursors using the dropped index. This test is to serve as a reminder that diff --git a/jstests/core/orf.js b/jstests/core/orf.js index 66d943aa764..ba226a8f6e8 100644 --- a/jstests/core/orf.js +++ b/jstests/core/orf.js @@ -1,5 +1,8 @@ // Test a query with 200 $or clauses -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] t = db.jstests_orf; t.drop(); diff --git a/jstests/core/orj.js b/jstests/core/orj.js index 683f45253a8..0ec304d9e52 100644 --- a/jstests/core/orj.js +++ b/jstests/core/orj.js @@ -1,4 +1,7 @@ // Test nested $or clauses SERVER-2585 SERVER-3192 +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_orj; t.drop(); diff --git a/jstests/core/ork.js b/jstests/core/ork.js index 7c9bc982776..7f203c74e5f 100644 --- a/jstests/core/ork.js +++ b/jstests/core/ork.js @@ -1,4 +1,7 @@ // SERVER-2585 Test $or clauses within indexed top level $or clauses. +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_ork; t.drop(); diff --git a/jstests/core/oro.js b/jstests/core/oro.js index 65e9168029a..80684869f6d 100644 --- a/jstests/core/oro.js +++ b/jstests/core/oro.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, requires_collstats] +// @tags: [ +// requires_collstats, +// requires_getmore, +// sbe_incompatible, +// ] // Test $or query with several clauses on separate indexes. diff --git a/jstests/core/plan_cache_clear.js b/jstests/core/plan_cache_clear.js index 250e07be952..3bbc9824c4a 100644 --- a/jstests/core/plan_cache_clear.js +++ b/jstests/core/plan_cache_clear.js @@ -5,12 +5,13 @@ // # This test attempts to perform queries and introspect/manipulate the server's plan cache // # entries. The former operation may be routed to a secondary in the replica set, whereas the // # latter must be routed to the primary. -// # If all chunks are moved off of a shard, it can cause the plan cache to miss commands. -// assumes_read_preference_unchanged, // assumes_read_concern_unchanged, +// assumes_read_preference_unchanged, // does_not_support_stepdowns, +// # If all chunks are moved off of a shard, it can cause the plan cache to miss commands. // assumes_balancer_off, // assumes_unsharded_collection, +// sbe_incompatible, // ] (function() { diff --git a/jstests/core/plan_cache_list_plans.js b/jstests/core/plan_cache_list_plans.js index 13c28cfb1a8..354fa05a55c 100644 --- a/jstests/core/plan_cache_list_plans.js +++ b/jstests/core/plan_cache_list_plans.js @@ -12,6 +12,7 @@ // assumes_unsharded_collection, // does_not_support_stepdowns, // inspects_whether_plan_cache_entry_is_active, +// sbe_incompatible, // ] (function() { diff --git a/jstests/core/plan_cache_list_shapes.js b/jstests/core/plan_cache_list_shapes.js index e682f34ecd1..fb776a19adf 100644 --- a/jstests/core/plan_cache_list_shapes.js +++ b/jstests/core/plan_cache_list_shapes.js @@ -2,15 +2,16 @@ // for a particular collection. // // @tags: [ +// # If all chunks are moved off of a shard, it can cause the plan cache to miss commands. +// assumes_balancer_off, +// does_not_support_stepdowns, // # This test attempts to perform queries with plan cache filters set up. The former operation // # may be routed to a secondary in the replica set, whereas the latter must be routed to the // # primary. -// # If all chunks are moved off of a shard, it can cause the plan cache to miss commands. -// assumes_read_preference_unchanged, // assumes_read_concern_unchanged, -// does_not_support_stepdowns, -// assumes_balancer_off, +// assumes_read_preference_unchanged, // assumes_unsharded_collection, +// sbe_incompatible, // ] (function() { const coll = db.jstests_plan_cache_list_shapes; diff --git a/jstests/core/plan_cache_shell_helpers.js b/jstests/core/plan_cache_shell_helpers.js index aba0d20047e..da0510befed 100644 --- a/jstests/core/plan_cache_shell_helpers.js +++ b/jstests/core/plan_cache_shell_helpers.js @@ -10,6 +10,7 @@ // assumes_read_preference_unchanged, // assumes_unsharded_collection, // does_not_support_stepdowns, +// sbe_incompatible, // ] (function() { var coll = db.jstests_plan_cache_shell_helpers; diff --git a/jstests/core/plan_cache_stats_shard_and_host.js b/jstests/core/plan_cache_stats_shard_and_host.js index 573050ec41e..b96c47134e9 100644 --- a/jstests/core/plan_cache_stats_shard_and_host.js +++ b/jstests/core/plan_cache_stats_shard_and_host.js @@ -6,6 +6,7 @@ // assumes_read_concern_unchanged, // assumes_read_preference_unchanged, // does_not_support_stepdowns, +// sbe_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/positional_projection_multiple_array_fields.js b/jstests/core/positional_projection_multiple_array_fields.js index dbeba9fcced..63e4f0a3b85 100644 --- a/jstests/core/positional_projection_multiple_array_fields.js +++ b/jstests/core/positional_projection_multiple_array_fields.js @@ -4,6 +4,9 @@ * * Note that the user's query/filter document may only contain _ONE_ array field for positional * projection to work correctly. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/profile1.js b/jstests/core/profile1.js index 485b26f29fa..6fce5d9e74c 100644 --- a/jstests/core/profile1.js +++ b/jstests/core/profile1.js @@ -6,6 +6,7 @@ // requires_collstats, // requires_non_retryable_commands, // requires_profiling, +// sbe_incompatible, // ] (function() { diff --git a/jstests/core/profile2.js b/jstests/core/profile2.js index f8f0040683e..d58fe533dd9 100644 --- a/jstests/core/profile2.js +++ b/jstests/core/profile2.js @@ -1,7 +1,10 @@ // Tests that large queries and updates are properly profiled. // Special db so that it can be run in parallel tests. -// @tags: [requires_profiling] +// @tags: [ +// requires_profiling, +// sbe_incompatible, +// ] var coll = db.getSisterDB("profile2").profile2; diff --git a/jstests/core/profile3.js b/jstests/core/profile3.js index 71baa67e563..5dc23bdac8b 100644 --- a/jstests/core/profile3.js +++ b/jstests/core/profile3.js @@ -2,6 +2,7 @@ // assumes_superuser_permissions, // creates_and_authenticates_user, // requires_profiling, +// sbe_incompatible, // ] // special db so that it can be run in parallel tests var stddb = db; diff --git a/jstests/core/profile_agg.js b/jstests/core/profile_agg.js index d8e96d46646..9eed6e1687f 100644 --- a/jstests/core/profile_agg.js +++ b/jstests/core/profile_agg.js @@ -1,4 +1,8 @@ -// @tags: [does_not_support_stepdowns, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that profiled aggregation execution contains all expected metrics with proper values. diff --git a/jstests/core/profile_count.js b/jstests/core/profile_count.js index d2b998df850..71d8646bbed 100644 --- a/jstests/core/profile_count.js +++ b/jstests/core/profile_count.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_fastcount, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_fastcount, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that profiled count execution contains all expected metrics with proper values. diff --git a/jstests/core/profile_delete.js b/jstests/core/profile_delete.js index 500320afe6c..025d063848e 100644 --- a/jstests/core/profile_delete.js +++ b/jstests/core/profile_delete.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_non_retryable_writes, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_non_retryable_writes, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that profiled delete execution contains all expected metrics with proper values. diff --git a/jstests/core/profile_distinct.js b/jstests/core/profile_distinct.js index 4bfc8895f88..43ed5a2ae54 100644 --- a/jstests/core/profile_distinct.js +++ b/jstests/core/profile_distinct.js @@ -1,4 +1,8 @@ -// @tags: [does_not_support_stepdowns, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that profiled distinct execution contains all expected metrics with proper values. diff --git a/jstests/core/profile_find.js b/jstests/core/profile_find.js index 353eb5c3d70..5b6e635059b 100644 --- a/jstests/core/profile_find.js +++ b/jstests/core/profile_find.js @@ -1,4 +1,8 @@ -// @tags: [does_not_support_stepdowns, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that profiled find execution contains all expected metrics with proper values. diff --git a/jstests/core/profile_findandmodify.js b/jstests/core/profile_findandmodify.js index 99ba9b736d2..b74eb1cd284 100644 --- a/jstests/core/profile_findandmodify.js +++ b/jstests/core/profile_findandmodify.js @@ -1,5 +1,8 @@ // Confirms that profiled findAndModify execution contains all expected metrics with proper values. -// @tags: [requires_profiling] +// @tags: [ +// requires_profiling, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/profile_getmore.js b/jstests/core/profile_getmore.js index 5cbccb95881..16858b948eb 100644 --- a/jstests/core/profile_getmore.js +++ b/jstests/core/profile_getmore.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_getmore, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_getmore, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that profiled getMore execution contains all expected metrics with proper values. diff --git a/jstests/core/profile_hide_index.js b/jstests/core/profile_hide_index.js index 10f585ff710..b0a9dda1ed8 100644 --- a/jstests/core/profile_hide_index.js +++ b/jstests/core/profile_hide_index.js @@ -2,10 +2,11 @@ * Ensure the 'hidden' flag can be found in currentOp and profiler. * * @tags: [ - * assumes_read_concern_unchanged, - * assumes_read_preference_unchanged, - * requires_non_retryable_writes, - * requires_profiling, + * assumes_read_concern_unchanged, + * assumes_read_preference_unchanged, + * requires_non_retryable_writes, + * requires_profiling, + * sbe_incompatible, * ] */ diff --git a/jstests/core/profile_insert.js b/jstests/core/profile_insert.js index e45b1011c89..7bc2eac7445 100644 --- a/jstests/core/profile_insert.js +++ b/jstests/core/profile_insert.js @@ -4,6 +4,7 @@ // assumes_write_concern_unchanged, // does_not_support_stepdowns, // requires_profiling, +// sbe_incompatible, // ] (function() { diff --git a/jstests/core/profile_list_collections.js b/jstests/core/profile_list_collections.js index cf6132e71c7..49be79977a2 100644 --- a/jstests/core/profile_list_collections.js +++ b/jstests/core/profile_list_collections.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_getmore, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_getmore, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that a listCollections command is not profiled. diff --git a/jstests/core/profile_list_indexes.js b/jstests/core/profile_list_indexes.js index b94ee6b422b..d91a0ff8348 100644 --- a/jstests/core/profile_list_indexes.js +++ b/jstests/core/profile_list_indexes.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_getmore, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_getmore, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that a listIndexes command and subsequent getMores of its cursor are profiled correctly. diff --git a/jstests/core/profile_mapreduce.js b/jstests/core/profile_mapreduce.js index 608971f8684..7f9b581acc1 100644 --- a/jstests/core/profile_mapreduce.js +++ b/jstests/core/profile_mapreduce.js @@ -3,6 +3,7 @@ // does_not_support_causal_consistency, // does_not_support_stepdowns, // requires_profiling, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] diff --git a/jstests/core/profile_query_hash.js b/jstests/core/profile_query_hash.js index 73e27e3bb6c..6a5484eb3bf 100644 --- a/jstests/core/profile_query_hash.js +++ b/jstests/core/profile_query_hash.js @@ -1,10 +1,11 @@ // Confirms that profile entries for find commands contain the appropriate query hash. // // @tags: [ -// does_not_support_stepdowns, -// requires_profiling, // assumes_against_mongod_not_mongos, // assumes_read_concern_unchanged, +// does_not_support_stepdowns, +// requires_profiling, +// sbe_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/profile_sampling.js b/jstests/core/profile_sampling.js index 802b04ad5e5..2239914cf34 100644 --- a/jstests/core/profile_sampling.js +++ b/jstests/core/profile_sampling.js @@ -1,5 +1,10 @@ // Confirms that the number of profiled operations is consistent with the sampleRate, if set. -// @tags: [does_not_support_stepdowns, requires_fastcount, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_fastcount, +// requires_profiling, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/profile_update.js b/jstests/core/profile_update.js index 63ec6e96d76..1fc207f80de 100644 --- a/jstests/core/profile_update.js +++ b/jstests/core/profile_update.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_non_retryable_writes, requires_profiling] +// @tags: [ +// does_not_support_stepdowns, +// requires_non_retryable_writes, +// requires_profiling, +// sbe_incompatible, +// ] // Confirms that profiled update execution contains all expected metrics with proper values. diff --git a/jstests/core/proj_key1.js b/jstests/core/proj_key1.js index 06e3c255a3f..af6d6d9d9fe 100644 --- a/jstests/core/proj_key1.js +++ b/jstests/core/proj_key1.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] t = db.proj_key1; t.drop(); diff --git a/jstests/core/projection_dotted_paths.js b/jstests/core/projection_dotted_paths.js index 48c2f1ae89f..18a83a8ac61 100644 --- a/jstests/core/projection_dotted_paths.js +++ b/jstests/core/projection_dotted_paths.js @@ -1,6 +1,9 @@ // Failing due to queries on a sharded collection not able to be covered when they aren't on the // shard key since the document needs to be fetched in order to apply the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] /** * Test projections with dotted field paths. Also test that such projections result in covered plans diff --git a/jstests/core/projection_meta_index_key.js b/jstests/core/projection_meta_index_key.js index 01f6d3c7876..cff12d31721 100644 --- a/jstests/core/projection_meta_index_key.js +++ b/jstests/core/projection_meta_index_key.js @@ -1,5 +1,8 @@ // Test that indexKey $meta projection works in find and aggregate commands and produces correct // result depending on whether index key metadata is available or not. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/query_hash_stability.js b/jstests/core/query_hash_stability.js index 4efa9b74e4e..791b17ad7c0 100644 --- a/jstests/core/query_hash_stability.js +++ b/jstests/core/query_hash_stability.js @@ -1,6 +1,9 @@ /** * Test that 'queryHash' and 'planCacheKey' from explain() output have sensible values * across catalog changes. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/queryoptimizera.js b/jstests/core/queryoptimizera.js index f6950c81113..fa251610119 100644 --- a/jstests/core/queryoptimizera.js +++ b/jstests/core/queryoptimizera.js @@ -1,4 +1,8 @@ -// @tags: [does_not_support_stepdowns, requires_capped] +// @tags: [ +// does_not_support_stepdowns, +// requires_capped, +// sbe_incompatible, +// ] // 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 32e4547fb75..9a05bdcf9c9 100644 --- a/jstests/core/recursion.js +++ b/jstests/core/recursion.js @@ -4,6 +4,7 @@ // @tags: [ // does_not_support_stepdowns, // requires_non_retryable_commands, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, // ] diff --git a/jstests/core/ref.js b/jstests/core/ref.js index c893ffc3735..d89eafab7d0 100644 --- a/jstests/core/ref.js +++ b/jstests/core/ref.js @@ -1,5 +1,8 @@ // to run: // ./mongo jstests/ref.js +// @tags: [ +// sbe_incompatible, +// ] db.otherthings.drop(); db.things.drop(); diff --git a/jstests/core/regex.js b/jstests/core/regex.js index f74817e618c..26a7ae33733 100644 --- a/jstests/core/regex.js +++ b/jstests/core/regex.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ (function() { 'use strict'; diff --git a/jstests/core/regex3.js b/jstests/core/regex3.js index 6c05ca0007f..46b18c03028 100644 --- a/jstests/core/regex3.js +++ b/jstests/core/regex3.js @@ -1,4 +1,7 @@ -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] t = db.regex3; t.drop(); diff --git a/jstests/core/regex4.js b/jstests/core/regex4.js index 1abdd67d45f..4ced6d06924 100644 --- a/jstests/core/regex4.js +++ b/jstests/core/regex4.js @@ -1,4 +1,7 @@ -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] t = db.regex4; t.drop(); diff --git a/jstests/core/regex6.js b/jstests/core/regex6.js index 8872d1e4cca..7af6c7d8400 100644 --- a/jstests/core/regex6.js +++ b/jstests/core/regex6.js @@ -1,7 +1,10 @@ // contributed by Andrew Kempe // This test makes assertions about how many keys are examined during query execution, which can // change depending on whether/how many documents are filtered out by the SHARDING_FILTER stage. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] t = db.regex6; t.drop(); diff --git a/jstests/core/regex7.js b/jstests/core/regex7.js index 90949ec3723..290cbe387a9 100644 --- a/jstests/core/regex7.js +++ b/jstests/core/regex7.js @@ -6,6 +6,9 @@ t.insert({r: /^a/i}); t.insert({r: /^b/}); // no index +// @tags: [ +// sbe_incompatible, +// ] assert.eq(/^a/, t.findOne({r: /^a/}).r, '1 1 a'); assert.eq(1, t.count({r: /^a/}), '1 2'); assert.eq(/^a/i, t.findOne({r: /^a/i}).r, '2 1 a'); diff --git a/jstests/core/regex8.js b/jstests/core/regex8.js index 3b731c11edd..c92e82e4aa6 100644 --- a/jstests/core/regex8.js +++ b/jstests/core/regex8.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.regex8; t.drop(); diff --git a/jstests/core/regex_embed1.js b/jstests/core/regex_embed1.js index 6a47a7919ed..baaa8937962 100644 --- a/jstests/core/regex_embed1.js +++ b/jstests/core/regex_embed1.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.regex_embed1; t.drop(); diff --git a/jstests/core/regexc.js b/jstests/core/regexc.js index 43ad7fd860c..d7df4f7d574 100644 --- a/jstests/core/regexc.js +++ b/jstests/core/regexc.js @@ -1,4 +1,7 @@ // Multiple regular expressions using the same index +// @tags: [ +// sbe_incompatible, +// ] var t = db.jstests_regexc; diff --git a/jstests/core/remove9.js b/jstests/core/remove9.js index c18468641e0..dc3f84a9c34 100644 --- a/jstests/core/remove9.js +++ b/jstests/core/remove9.js @@ -1,6 +1,7 @@ // @tags: [ // requires_getmore, // requires_non_retryable_writes, +// sbe_incompatible, // uses_multiple_connections, // uses_parallel_shell, // ] diff --git a/jstests/core/rename4.js b/jstests/core/rename4.js index 6b42bc8373e..1ce3b30f177 100644 --- a/jstests/core/rename4.js +++ b/jstests/core/rename4.js @@ -1,5 +1,6 @@ // @tags: [ // requires_non_retryable_commands, +// sbe_incompatible, // ] t = db.jstests_rename4; diff --git a/jstests/core/rename_change_target_type.js b/jstests/core/rename_change_target_type.js index a88759b0b65..4f210b72e67 100644 --- a/jstests/core/rename_change_target_type.js +++ b/jstests/core/rename_change_target_type.js @@ -1,5 +1,8 @@ // Test that a rename that overwrites its destination with an equivalent value of a different type // updates the type of the destination (SERVER-32109). +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/return_key.js b/jstests/core/return_key.js index ef4d32497dd..9d30477bd54 100644 --- a/jstests/core/return_key.js +++ b/jstests/core/return_key.js @@ -3,6 +3,7 @@ // order to apply the SHARDING_FILTER stage. // @tags: [ // assumes_unsharded_collection, +// sbe_incompatible, // ] /** diff --git a/jstests/core/rollback_index_drop.js b/jstests/core/rollback_index_drop.js index ac97d090f83..22810cf6f93 100644 --- a/jstests/core/rollback_index_drop.js +++ b/jstests/core/rollback_index_drop.js @@ -6,6 +6,7 @@ // @tags: [ // assumes_unsharded_collection, // does_not_support_stepdowns, +// sbe_incompatible, // ] (function() { "use strict"; diff --git a/jstests/core/sample_rate.js b/jstests/core/sample_rate.js index e22b82c3bed..390606f1332 100644 --- a/jstests/core/sample_rate.js +++ b/jstests/core/sample_rate.js @@ -1,6 +1,9 @@ /** * Test the $sampleRate match expression. - * @tags: [requires_fcv_47] + * @tags: [ + * requires_fcv_47, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/server14747.js b/jstests/core/server14747.js index c6d77e6adb4..f9a650defa4 100644 --- a/jstests/core/server14747.js +++ b/jstests/core/server14747.js @@ -1,5 +1,8 @@ // Validation test for SERVER-14747. Note that the issue under test is a memory leak, so this // test would only be expected to fail when run under address sanitizer. +// @tags: [ +// sbe_incompatible, +// ] (function() { diff --git a/jstests/core/server14753.js b/jstests/core/server14753.js index e8de183f2d7..8f6ef317eb3 100644 --- a/jstests/core/server14753.js +++ b/jstests/core/server14753.js @@ -1,5 +1,8 @@ // Validation test for SERVER-14753. Note that the issue under test is a memory leak, so this // test would only be expected to fail when run under address sanitizer. +// @tags: [ +// sbe_incompatible, +// ] (function() { diff --git a/jstests/core/server9547.js b/jstests/core/server9547.js index 66b17644e15..515ef930b22 100644 --- a/jstests/core/server9547.js +++ b/jstests/core/server9547.js @@ -1,5 +1,8 @@ // SERVER-9547 // Test that sorting with .max() and .min() doesn't crash. +// @tags: [ +// sbe_incompatible, +// ] var t = db.server9547; t.drop(); diff --git a/jstests/core/show_record_id.js b/jstests/core/show_record_id.js index b82cb5c8f55..d111858bc7d 100644 --- a/jstests/core/show_record_id.js +++ b/jstests/core/show_record_id.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // Sanity check for the showRecordId option. diff --git a/jstests/core/single_field_hashed_index.js b/jstests/core/single_field_hashed_index.js index 6f4fa090aea..25cc72e8747 100644 --- a/jstests/core/single_field_hashed_index.js +++ b/jstests/core/single_field_hashed_index.js @@ -2,7 +2,11 @@ * Tests the basic behaviours and properties of single-field hashed indexes. * Cannot implicitly shard accessed collections because of extra shard key index in sharded * collection. - * @tags: [assumes_no_implicit_index_creation, requires_fastcount] + * @tags: [ + * assumes_no_implicit_index_creation, + * requires_fastcount, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/slice1.js b/jstests/core/slice1.js index cf454689203..37d0f25a130 100644 --- a/jstests/core/slice1.js +++ b/jstests/core/slice1.js @@ -7,6 +7,9 @@ t.drop(); t.insert({_id: 1, a: [0, 1, 2, 3, 4, 5, -5, -4, -3, -2, -1], b: 1, c: 1}); // first three +// @tags: [ +// sbe_incompatible, +// ] let out = t.findOne({}, {a: {$slice: 3}}); assert.eq(out.a, [0, 1, 2], '1'); diff --git a/jstests/core/sort1.js b/jstests/core/sort1.js index 7d5c227d8b4..39c8d3d333d 100644 --- a/jstests/core/sort1.js +++ b/jstests/core/sort1.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ (function() { 'use strict'; diff --git a/jstests/core/sort2.js b/jstests/core/sort2.js index 2cfb6baafc3..ca2d3dc80bf 100644 --- a/jstests/core/sort2.js +++ b/jstests/core/sort2.js @@ -1,4 +1,7 @@ // test sorting, mainly a test ver simple with no index +// @tags: [ +// sbe_incompatible, +// ] t = db.sort2; diff --git a/jstests/core/sort5.js b/jstests/core/sort5.js index 05fe781ae32..2f604225d7a 100644 --- a/jstests/core/sort5.js +++ b/jstests/core/sort5.js @@ -7,6 +7,9 @@ t.save({_id: 2, x: 3, y: {a: 2, b: 3}}); t.save({_id: 9, x: 4, y: {a: 9, b: 3}}); // test compound sorting +// @tags: [ +// sbe_incompatible, +// ] assert.eq([4, 2, 3, 1], t.find().sort({"y.b": 1, "y.a": -1}).map(function(z) { diff --git a/jstests/core/sort6.js b/jstests/core/sort6.js index 03a1b559831..51e3a793d5f 100644 --- a/jstests/core/sort6.js +++ b/jstests/core/sort6.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * sbe_incompatible, + * ] + */ t = db.sort6; function get(x) { diff --git a/jstests/core/sort8.js b/jstests/core/sort8.js index 72e5ce54d23..75d393445a7 100644 --- a/jstests/core/sort8.js +++ b/jstests/core/sort8.js @@ -1,4 +1,7 @@ // Check sorting of arrays indexed by key SERVER-2884 +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_sort8; t.drop(); diff --git a/jstests/core/sort9.js b/jstests/core/sort9.js index 57496b40da1..1cc514e970c 100644 --- a/jstests/core/sort9.js +++ b/jstests/core/sort9.js @@ -1,4 +1,7 @@ // Unindexed array sorting SERVER-2884 +// @tags: [ +// sbe_incompatible, +// ] t = db.jstests_sort9; t.drop(); diff --git a/jstests/core/sort_array.js b/jstests/core/sort_array.js index fccfe744a71..3b260163880 100644 --- a/jstests/core/sort_array.js +++ b/jstests/core/sort_array.js @@ -1,6 +1,7 @@ // @tags: [ // does_not_support_stepdowns, // requires_non_retryable_writes, +// sbe_incompatible, // ] /** diff --git a/jstests/core/sort_with_meta_operator.js b/jstests/core/sort_with_meta_operator.js index 4208db3e212..30f17b8f84a 100644 --- a/jstests/core/sort_with_meta_operator.js +++ b/jstests/core/sort_with_meta_operator.js @@ -1,4 +1,7 @@ // Tests to validate the input for sort on '$meta' operator. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; const coll = db.sort_with_meta_operator; diff --git a/jstests/core/sorta.js b/jstests/core/sorta.js index fd7f8422187..a3155c355ce 100644 --- a/jstests/core/sorta.js +++ b/jstests/core/sorta.js @@ -1,4 +1,7 @@ // SERVER-2905 sorting with missing fields +// @tags: [ +// sbe_incompatible, +// ] (function() { 'use strict'; diff --git a/jstests/core/sortb.js b/jstests/core/sortb.js index 34fb94951e9..bd02c21d1f9 100644 --- a/jstests/core/sortb.js +++ b/jstests/core/sortb.js @@ -1,5 +1,8 @@ // Test that the in memory sort capacity limit is checked for all "top N" sort candidates. // SERVER-4716 +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/sortc.js b/jstests/core/sortc.js index 975b3acf764..804664ab6ed 100644 --- a/jstests/core/sortc.js +++ b/jstests/core/sortc.js @@ -1,4 +1,7 @@ // Test sorting with skipping and multiple candidate query plans. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/sortd.js b/jstests/core/sortd.js index 832d73d1939..87c0453cd7a 100644 --- a/jstests/core/sortd.js +++ b/jstests/core/sortd.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // Test sorting with dups and multiple candidate query plans. diff --git a/jstests/core/sortf.js b/jstests/core/sortf.js index 4af92cddbae..6f34d80a59d 100644 --- a/jstests/core/sortf.js +++ b/jstests/core/sortf.js @@ -1,4 +1,7 @@ -// @tags: [requires_getmore] +// @tags: [ +// requires_getmore, +// sbe_incompatible, +// ] // 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 1f5a442fa35..64edbce53d0 100644 --- a/jstests/core/sortg.js +++ b/jstests/core/sortg.js @@ -1,6 +1,10 @@ // Cannot implicitly shard accessed collections because of extra shard key index in sharded // collection. -// @tags: [assumes_no_implicit_index_creation, requires_getmore] +// @tags: [ +// assumes_no_implicit_index_creation, +// requires_getmore, +// sbe_incompatible, +// ] // Test that a memory exception is triggered for in memory sorts, but not for indexed sorts. (function() { diff --git a/jstests/core/sorth.js b/jstests/core/sorth.js index c096f265882..4b5aa02c281 100644 --- a/jstests/core/sorth.js +++ b/jstests/core/sorth.js @@ -1,4 +1,7 @@ // Tests for the $in/sort/limit optimization combined with inequality bounds. SERVER-5777 +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/sortj.js b/jstests/core/sortj.js index 27420d70646..58125c2c00c 100644 --- a/jstests/core/sortj.js +++ b/jstests/core/sortj.js @@ -1,5 +1,8 @@ // Test an in memory sort memory assertion after a plan has "taken over" in the query optimizer // cursor. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/sortk.js b/jstests/core/sortk.js index c8219d4ea1e..e207c8f1f78 100644 --- a/jstests/core/sortk.js +++ b/jstests/core/sortk.js @@ -2,11 +2,11 @@ // SERVER-5063 and SERVER-1205. // @tags: [ -// requires_non_retryable_writes, -// -// # Uses $where operator -// requires_scripting, -// assumes_balancer_off +// assumes_balancer_off, +// requires_non_retryable_writes, +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.jstests_sortk; diff --git a/jstests/core/sortl.js b/jstests/core/sortl.js index 23c2673b135..7993c1e1220 100644 --- a/jstests/core/sortl.js +++ b/jstests/core/sortl.js @@ -1,5 +1,8 @@ // Tests equality query on _id with a sort, intended to be tested on both mongos and mongod. For // SERVER-20641. +// @tags: [ +// sbe_incompatible, +// ] (function() { 'use strict'; diff --git a/jstests/core/sparse_index_supports_ne_null.js b/jstests/core/sparse_index_supports_ne_null.js index 590bacc5021..0575418c757 100644 --- a/jstests/core/sparse_index_supports_ne_null.js +++ b/jstests/core/sparse_index_supports_ne_null.js @@ -1,11 +1,14 @@ -/* +/** * Test that sparse indexes can be used for {$ne: null} queries. Includes tests for (sparse) * compound indexes and for cases when {$ne: null} is within an $elemMatch. * * Cannot run on a sharded collection because different shards may have different plans available * depending on how the collection is sharded. (For example, if one shard's index goes multikey, * but another's is still not multikey, they may need to use different plans for certain queries). - * @tags: [assumes_unsharded_collection] + * @tags: [ + * assumes_unsharded_collection, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/stages_and_sorted.js b/jstests/core/stages_and_sorted.js index 97387d84064..2b523e1ded0 100644 --- a/jstests/core/stages_and_sorted.js +++ b/jstests/core/stages_and_sorted.js @@ -1,5 +1,6 @@ // @tags: [ // does_not_support_stepdowns, +// sbe_incompatible, // uses_testing_only_commands, // ] diff --git a/jstests/core/stages_collection_scan.js b/jstests/core/stages_collection_scan.js index d1b6dc178f8..78167a289c2 100644 --- a/jstests/core/stages_collection_scan.js +++ b/jstests/core/stages_collection_scan.js @@ -1,5 +1,6 @@ // @tags: [ // does_not_support_stepdowns, +// sbe_incompatible, // uses_testing_only_commands, // ] diff --git a/jstests/core/stages_delete.js b/jstests/core/stages_delete.js index 29145d961bb..66be760ec01 100644 --- a/jstests/core/stages_delete.js +++ b/jstests/core/stages_delete.js @@ -4,6 +4,7 @@ // assumes_write_concern_unchanged, // does_not_support_stepdowns, // requires_fastcount, +// sbe_incompatible, // uses_testing_only_commands, // ] diff --git a/jstests/core/system_js_access.js b/jstests/core/system_js_access.js index 2ca0e182a73..9395f98c238 100644 --- a/jstests/core/system_js_access.js +++ b/jstests/core/system_js_access.js @@ -2,6 +2,7 @@ // @tags: [ // assumes_unsharded_collection, // requires_non_retryable_writes, +// sbe_incompatible, // ] (function() { diff --git a/jstests/core/tailable_cursor_invalidation.js b/jstests/core/tailable_cursor_invalidation.js index 08ff40b0bba..9f0cddb3a70 100644 --- a/jstests/core/tailable_cursor_invalidation.js +++ b/jstests/core/tailable_cursor_invalidation.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, requires_capped] +// @tags: [ +// requires_capped, +// requires_getmore, +// sbe_incompatible, +// ] // Tests for the behavior of tailable cursors when a collection is dropped or the cursor is // otherwise invalidated. diff --git a/jstests/core/tailable_getmore_batch_size.js b/jstests/core/tailable_getmore_batch_size.js index 05bab0ba341..30745a7465f 100644 --- a/jstests/core/tailable_getmore_batch_size.js +++ b/jstests/core/tailable_getmore_batch_size.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, requires_capped] +// @tags: [ +// requires_capped, +// requires_getmore, +// sbe_incompatible, +// ] // Tests for the behavior of combining the tailable and awaitData options to the getMore command // with the batchSize option. diff --git a/jstests/core/tailable_skip_limit.js b/jstests/core/tailable_skip_limit.js index 8d489ba9298..2eb8a63648e 100644 --- a/jstests/core/tailable_skip_limit.js +++ b/jstests/core/tailable_skip_limit.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, requires_capped] +// @tags: [ +// requires_capped, +// requires_getmore, +// sbe_incompatible, +// ] // Test that tailable cursors work correctly with skip and limit. (function() { diff --git a/jstests/core/text_covered_matching.js b/jstests/core/text_covered_matching.js index 75814f04cce..ffab962ea69 100644 --- a/jstests/core/text_covered_matching.js +++ b/jstests/core/text_covered_matching.js @@ -7,7 +7,10 @@ // include the 'textScore' meta field, so we are adding this test to ensure that we still get the // same covered matching behavior with and without 'textScore' in the projection. // -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] load("jstests/libs/analyze_plan.js"); diff --git a/jstests/core/ts1.js b/jstests/core/ts1.js index e1d937ee6c5..db243678fd6 100644 --- a/jstests/core/ts1.js +++ b/jstests/core/ts1.js @@ -1,7 +1,10 @@ // Tests that timestamps are inserted in increasing order. This test assumes that timestamps // inserted within the same second will have increasing increment values, which may not be the case // if the inserts are into a sharded collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// sbe_incompatible, +// ] (function() { "use strict"; const t = db.ts1; diff --git a/jstests/core/type3.js b/jstests/core/type3.js index 1cbf5f456b4..6c2c71e2b0c 100644 --- a/jstests/core/type3.js +++ b/jstests/core/type3.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] // Check query type bracketing SERVER-3222 diff --git a/jstests/core/type_array.js b/jstests/core/type_array.js index cec6ff71748..b1d1f639844 100644 --- a/jstests/core/type_array.js +++ b/jstests/core/type_array.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// sbe_incompatible, +// ] /** * Tests for the array-related behavior of the $type query operator. diff --git a/jstests/core/update6.js b/jstests/core/update6.js index efbb7c365e8..644855c6742 100644 --- a/jstests/core/update6.js +++ b/jstests/core/update6.js @@ -1,7 +1,10 @@ // 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, +// sbe_incompatible, +// ] t = db.update6; t.drop(); diff --git a/jstests/core/update_affects_indexes.js b/jstests/core/update_affects_indexes.js index 41b0cb4a016..20bbdc38d2d 100644 --- a/jstests/core/update_affects_indexes.js +++ b/jstests/core/update_affects_indexes.js @@ -1,5 +1,8 @@ // This is a regression test for SERVER-32048. It checks that index keys are correctly updated when // an update modifier implicitly creates a new array element. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/update_arraymatch5.js b/jstests/core/update_arraymatch5.js index f60f7816b99..b40814b20c6 100644 --- a/jstests/core/update_arraymatch5.js +++ b/jstests/core/update_arraymatch5.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_fastcount, +// requires_non_retryable_writes, +// sbe_incompatible, +// ] t = db.update_arraymatch5; t.drop(); diff --git a/jstests/core/update_arraymatch8.js b/jstests/core/update_arraymatch8.js index d17b837d0ee..6340acdb2ab 100644 --- a/jstests/core/update_arraymatch8.js +++ b/jstests/core/update_arraymatch8.js @@ -1,7 +1,10 @@ // 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, +// sbe_incompatible, +// ] // Checking for positional array updates with either .$ or .0 at the end // SERVER-7511 diff --git a/jstests/core/update_with_pipeline.js b/jstests/core/update_with_pipeline.js index 4f044a19352..f977e487a11 100644 --- a/jstests/core/update_with_pipeline.js +++ b/jstests/core/update_with_pipeline.js @@ -4,7 +4,11 @@ * 'requires_find_command' needed to prevent this test from running with 'compatibility' write mode * as pipeline-style update is not supported by OP_UPDATE. * - * @tags: [requires_find_command, requires_non_retryable_writes] + * @tags: [ + * requires_find_command, + * requires_non_retryable_writes, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/views/dbref_projection.js b/jstests/core/views/dbref_projection.js index 1aa828c3807..f77cf8ded3d 100644 --- a/jstests/core/views/dbref_projection.js +++ b/jstests/core/views/dbref_projection.js @@ -4,6 +4,7 @@ * Legacy find() queries do not support views, so must use the find() command. * @tags: [ * requires_find_command, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/views/views_aggregation.js b/jstests/core/views/views_aggregation.js index 44e73dea033..a6efd97e661 100644 --- a/jstests/core/views/views_aggregation.js +++ b/jstests/core/views/views_aggregation.js @@ -6,6 +6,7 @@ * requires_find_command, * requires_getmore, * requires_non_retryable_commands, + * sbe_incompatible, * uses_$out, * ] */ diff --git a/jstests/core/views/views_all_commands.js b/jstests/core/views/views_all_commands.js index 3784355e25c..57a702c709a 100644 --- a/jstests/core/views/views_all_commands.js +++ b/jstests/core/views/views_all_commands.js @@ -3,11 +3,12 @@ // does_not_support_stepdowns, // requires_emptycapped, // requires_fastcount, +// requires_fcv_47, // requires_getmore, // requires_non_retryable_commands, // requires_non_retryable_writes, +// sbe_incompatible, // uses_map_reduce_with_temp_collections, -// requires_fcv_47, // ] /* diff --git a/jstests/core/views/views_collation.js b/jstests/core/views/views_collation.js index 13eb65c3db7..accea6dcfae 100644 --- a/jstests/core/views/views_collation.js +++ b/jstests/core/views/views_collation.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_non_retryable_commands, requires_fastcount] +// @tags: [ +// does_not_support_stepdowns, +// requires_fastcount, +// requires_non_retryable_commands, +// sbe_incompatible, +// ] /** * Tests the behavior of operations when interacting with a view's default collation. diff --git a/jstests/core/views/views_count.js b/jstests/core/views/views_count.js index fa676fe6f02..5b8777feadf 100644 --- a/jstests/core/views/views_count.js +++ b/jstests/core/views/views_count.js @@ -1,6 +1,9 @@ // Test the count command with views. // -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/views/views_distinct.js b/jstests/core/views/views_distinct.js index 0f25ac3beb1..fd9ba5830f0 100644 --- a/jstests/core/views/views_distinct.js +++ b/jstests/core/views/views_distinct.js @@ -1,4 +1,7 @@ // Test the distinct command with views. +// @tags: [ +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/views/views_find.js b/jstests/core/views/views_find.js index 3ca5571784d..10d205c04a0 100644 --- a/jstests/core/views/views_find.js +++ b/jstests/core/views/views_find.js @@ -4,6 +4,7 @@ * @tags: [ * requires_find_command, * requires_getmore, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/where1.js b/jstests/core/where1.js index 87ad49d16c1..4134055a802 100644 --- a/jstests/core/where1.js +++ b/jstests/core/where1.js @@ -1,6 +1,7 @@ // @tags: [ -// # Uses $where operator -// requires_scripting +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.getCollection("where1"); diff --git a/jstests/core/where2.js b/jstests/core/where2.js index 16f378c4b5e..b80c1b8381a 100644 --- a/jstests/core/where2.js +++ b/jstests/core/where2.js @@ -1,6 +1,7 @@ // @tags: [ -// # Uses $where operator -// requires_scripting +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] t = db.getCollection("where2"); diff --git a/jstests/core/where5.js b/jstests/core/where5.js index 02530dbd71e..19d15cf2b0d 100644 --- a/jstests/core/where5.js +++ b/jstests/core/where5.js @@ -1,8 +1,9 @@ // Tests toString() in object constructor. // Verifies that native functions do not expose the _native_function and _native_data properties. // @tags: [ -// # Uses $where operator -// requires_scripting +// # Uses $where operator +// requires_scripting, +// sbe_incompatible, // ] var t = db.where5; diff --git a/jstests/core/where_tolerates_js_exception.js b/jstests/core/where_tolerates_js_exception.js index ed11b3e64a5..83039a88b4f 100644 --- a/jstests/core/where_tolerates_js_exception.js +++ b/jstests/core/where_tolerates_js_exception.js @@ -5,6 +5,7 @@ * @tags: [ * requires_non_retryable_commands, * requires_scripting, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/wildcard_and_text_indexes.js b/jstests/core/wildcard_and_text_indexes.js index 639450b174c..9f77db13a00 100644 --- a/jstests/core/wildcard_and_text_indexes.js +++ b/jstests/core/wildcard_and_text_indexes.js @@ -1,6 +1,9 @@ /** * Tests that a {$**: 1} index can coexist with a {$**: 'text'} index in the same collection. - * @tags: [assumes_balancer_off] + * @tags: [ + * assumes_balancer_off, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_basic_index_bounds.js b/jstests/core/wildcard_index_basic_index_bounds.js index a685898ead7..632b8a6b0eb 100644 --- a/jstests/core/wildcard_index_basic_index_bounds.js +++ b/jstests/core/wildcard_index_basic_index_bounds.js @@ -4,7 +4,11 @@ * Does not support stepdowns because the test issues getMores, which the stepdown/kill_primary * passthroughs will reject. * - * @tags: [does_not_support_stepdowns, assumes_balancer_off] + * @tags: [ + * assumes_balancer_off, + * does_not_support_stepdowns, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_cached_plans.js b/jstests/core/wildcard_index_cached_plans.js index 9b42413955c..dd626cbe357 100644 --- a/jstests/core/wildcard_index_cached_plans.js +++ b/jstests/core/wildcard_index_cached_plans.js @@ -12,6 +12,7 @@ * # false when the test assumes they are true because the query has already been run many times. * assumes_balancer_off, * inspects_whether_plan_cache_entry_is_active, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/wildcard_index_collation.js b/jstests/core/wildcard_index_collation.js index 1fcad1d72cb..c2ae926ab0e 100644 --- a/jstests/core/wildcard_index_collation.js +++ b/jstests/core/wildcard_index_collation.js @@ -5,8 +5,13 @@ * The tags below are necessary because collation requires that we use read/write commands rather * than legacy operations. We also require that collections are unsharded, since we perform queries * which we expect to be covered. - * @tags: [assumes_unsharded_collection, requires_find_command, requires_non_retryable_commands, - * requires_non_retryable_writes] + * @tags: [ + * assumes_unsharded_collection, + * requires_find_command, + * requires_non_retryable_commands, + * requires_non_retryable_writes, + * sbe_incompatible, + * ] */ (function() { "user strict"; diff --git a/jstests/core/wildcard_index_count.js b/jstests/core/wildcard_index_count.js index 6c9fa8f05a3..9ef64482f5d 100644 --- a/jstests/core/wildcard_index_count.js +++ b/jstests/core/wildcard_index_count.js @@ -4,7 +4,11 @@ // The collection cannot be sharded, since the requirement to SHARD_FILTER precludes the planner // from generating a COUNT_SCAN plan. Further, we do not allow stepdowns, since the code responsible // for retrying on interrupt is not prepared to handle aggregation explain. -// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] +// @tags: [ +// assumes_unsharded_collection, +// does_not_support_stepdowns, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/wildcard_index_covered_queries.js b/jstests/core/wildcard_index_covered_queries.js index 484d836ac4b..eae1a14d6cb 100644 --- a/jstests/core/wildcard_index_covered_queries.js +++ b/jstests/core/wildcard_index_covered_queries.js @@ -8,6 +8,7 @@ * @tags: [ * assumes_unsharded_collection, * does_not_support_stepdowns, + * sbe_incompatible, * ] */ (function() { diff --git a/jstests/core/wildcard_index_distinct_scan.js b/jstests/core/wildcard_index_distinct_scan.js index f1e0fa67f3f..6c29e0867a2 100644 --- a/jstests/core/wildcard_index_distinct_scan.js +++ b/jstests/core/wildcard_index_distinct_scan.js @@ -1,5 +1,8 @@ /** * Tests that a $** index can provide a DISTINCT_SCAN or indexed solution where appropriate. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_empty_arrays.js b/jstests/core/wildcard_index_empty_arrays.js index cfea1495a48..d2ff32441e7 100644 --- a/jstests/core/wildcard_index_empty_arrays.js +++ b/jstests/core/wildcard_index_empty_arrays.js @@ -1,5 +1,8 @@ /** * Tests that wildcard indexes will correctly match for empty arrays. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_equality_to_empty_obj.js b/jstests/core/wildcard_index_equality_to_empty_obj.js index c6801bcdcb6..a89f1a66488 100644 --- a/jstests/core/wildcard_index_equality_to_empty_obj.js +++ b/jstests/core/wildcard_index_equality_to_empty_obj.js @@ -1,5 +1,8 @@ /** * Tests that a $** index can support queries which test for equality to empty nested objects. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_filter.js b/jstests/core/wildcard_index_filter.js index fc1f1efdc6f..40fd9e2ce01 100644 --- a/jstests/core/wildcard_index_filter.js +++ b/jstests/core/wildcard_index_filter.js @@ -3,7 +3,10 @@ * * Does not support stepdowns, because the stepdown/kill_primary passthroughs will reject commands * that may return different values after a failover; in this case, 'planCacheClearFilters'. - * @tags: [does_not_support_stepdowns] + * @tags: [ + * does_not_support_stepdowns, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_hint.js b/jstests/core/wildcard_index_hint.js index ff481a62712..8c7e0e16374 100644 --- a/jstests/core/wildcard_index_hint.js +++ b/jstests/core/wildcard_index_hint.js @@ -1,5 +1,8 @@ /** * Tests that $** indexes obey hinting. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_multikey.js b/jstests/core/wildcard_index_multikey.js index 0ca4f5aeb0e..2ef2fa6da45 100644 --- a/jstests/core/wildcard_index_multikey.js +++ b/jstests/core/wildcard_index_multikey.js @@ -1,6 +1,9 @@ /** * Tests that queries using a multikey $** index, return correct results. - * @tags: [assumes_balancer_off] + * @tags: [ + * assumes_balancer_off, + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_nonblocking_sort.js b/jstests/core/wildcard_index_nonblocking_sort.js index 7e2ab7e073f..18d5f120e16 100644 --- a/jstests/core/wildcard_index_nonblocking_sort.js +++ b/jstests/core/wildcard_index_nonblocking_sort.js @@ -1,4 +1,7 @@ -// @tags: [assumes_balancer_off] +// @tags: [ +// assumes_balancer_off, +// sbe_incompatible, +// ] (function() { "use strict"; diff --git a/jstests/core/wildcard_index_partial_index.js b/jstests/core/wildcard_index_partial_index.js index 7a0bd4c80ff..730c3997051 100644 --- a/jstests/core/wildcard_index_partial_index.js +++ b/jstests/core/wildcard_index_partial_index.js @@ -1,5 +1,8 @@ /** * Test that $** indexes work when provided with a partial filter expression. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; diff --git a/jstests/core/wildcard_index_return_key.js b/jstests/core/wildcard_index_return_key.js index 53f7da8c09c..6956dbce0ec 100644 --- a/jstests/core/wildcard_index_return_key.js +++ b/jstests/core/wildcard_index_return_key.js @@ -1,5 +1,8 @@ /** * Tests that $** indexes works with returnKey option. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/wildcard_index_type.js b/jstests/core/wildcard_index_type.js index 34831c3f320..d56cfcf8234 100644 --- a/jstests/core/wildcard_index_type.js +++ b/jstests/core/wildcard_index_type.js @@ -1,5 +1,8 @@ /** * Test $** support for the $type operator. + * @tags: [ + * sbe_incompatible, + * ] */ (function() { "use strict"; |