mirror of https://github.com/mongodb/mongo
SERVER-111817 Add tag to exclude tests from timeseries CRUD suite (#44113)
GitOrigin-RevId: a3ab3b89275fa89c9824f6af467d56d605096159
This commit is contained in:
parent
200be6eef2
commit
169f8dc283
|
|
@ -14,305 +14,25 @@ selector:
|
|||
- jstests/core/query/queryable_encryption/**/*.js
|
||||
- jstests/core/query/sbe/**/*.js
|
||||
|
||||
# Time-series collection behavior is already tested within this directory.
|
||||
- jstests/core/write/bulk/bulk_write_timeseries_basic.js
|
||||
# Time-series collections already have the default clustered index.
|
||||
- jstests/core/query/find_with_resume_after_param.js
|
||||
- jstests/core/query/or_use_clustered_collection.js
|
||||
# Unique indexes.
|
||||
- jstests/core/write/uniqueness.js
|
||||
- jstests/core/query/bulk/bulk_api_ordered.js
|
||||
- jstests/core/query/bulk/bulk_api_unordered.js
|
||||
# Time-series is not compatible with viewOn.
|
||||
- jstests/core/query/collation/collation.js
|
||||
- jstests/core/query/disallow_system_views_user_writes.js
|
||||
- jstests/core/query/agg_hint.js
|
||||
- jstests/core/query/collection_uuid_find.js
|
||||
- jstests/core/query/parsing/collection_uuid_write_commands.js
|
||||
# Time-series is not allowed with an explicit validator.
|
||||
- jstests/core/query/bulk/bulk_write.js
|
||||
- jstests/core/write/bulk/bulk_write_non_transaction.js
|
||||
# Sparse indexes.
|
||||
- jstests/core/query/distinct/distinct_hint.js
|
||||
- jstests/core/query/plan_cache_stability.js
|
||||
- jstests/core/query/sparse_index_supports_ne_null.js
|
||||
# Text indexes.
|
||||
- jstests/core/query/internal_strip_invalid_assignment.js
|
||||
- jstests/core/query/plan_cache/plan_cache_eof.js
|
||||
- jstests/core/query/release_memory/text_or.js
|
||||
# Hashed indexes.
|
||||
- jstests/core/query/hashed_partial_and_sparse_index.js
|
||||
- jstests/core/query/distinct/distinct_with_hashed_index.js
|
||||
- jstests/core/query/distinct/distinct_for_passthrough.js
|
||||
- jstests/core/query/index_with_hashed_path_prefix_of_nonhashed_path.js
|
||||
- jstests/core/query/internal_hash_eq/**/*.js
|
||||
- jstests/core/query/project/projection_with_hashed_index.js
|
||||
- jstests/core/query/single_field_hashed_index.js
|
||||
# Indexed measurement field contains an array value
|
||||
- jstests/core/query/project/projection_semantics.js
|
||||
- jstests/core/query/array/array_index_and_nonIndex_consistent.js
|
||||
- jstests/core/query/update/update_multi7.js
|
||||
- jstests/core/query/delete/remove_with_in.js
|
||||
- jstests/core/query/delete/remove_with_idx.js
|
||||
- jstests/core/query/update/update_positional_inc.js
|
||||
- jstests/core/query/update/update_arraymatch5.js
|
||||
- jstests/core/query/update/update_arraymatch7.js
|
||||
# findAndModify sort.
|
||||
- jstests/core/query/natural_validation.js
|
||||
- jstests/core/query/crud_api.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify_positional.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify_empty_update.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify_invalid_query_params.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify_new_upsert_sort.js
|
||||
# updateOne sort.
|
||||
- jstests/core/query/update/updateOne_sort.js
|
||||
- jstests/core/query/update/updateOne_sort_sharded.js
|
||||
# Incompatible find command option.
|
||||
- jstests/core/query/min_max_hashed_index.js # min
|
||||
- jstests/core/query/expr/expr.js # divide
|
||||
- jstests/core/query/show_record_id.js # showRecordId
|
||||
|
||||
# Explain will return different plan than expected when a collection becomes a time-series
|
||||
# collection. Also, query shape will be different.
|
||||
- jstests/core/query/command_let_variables.js
|
||||
- jstests/core/query/cover_null_queries.js
|
||||
- jstests/core/query/covered_query_with_sort.js
|
||||
- jstests/core/query/field_name_empty.js
|
||||
- jstests/core/query/partialFilterExpression_with_geoWithin.js
|
||||
- jstests/core/query/and/and3.js
|
||||
- jstests/core/query/bittest.js
|
||||
- jstests/core/query/boolean_expression_simplification.js
|
||||
- jstests/core/query/distinct/distinct_compound_index.js
|
||||
- jstests/core/query/distinct/distinct_index1.js
|
||||
- jstests/core/query/distinct/distinct_multikey_dotted_path.js
|
||||
- jstests/core/query/distinct/distinct_sbe_compatibility.js
|
||||
- jstests/core/query/exists/existsa.js
|
||||
- jstests/core/query/explain/**/*.js
|
||||
- jstests/core/query/expr/expr_and_or_index.js
|
||||
- jstests/core/query/expr/expr_in_index_use.js
|
||||
- jstests/core/query/expr/expr_index_use.js
|
||||
- jstests/core/query/idhack.js
|
||||
- jstests/core/query/index_deduplication.js
|
||||
- jstests/core/query/plan_cache/introspect_hidden_index_plan_cache_entries.js
|
||||
- jstests/core/query/or/or3.js
|
||||
- jstests/core/query/or/or_to_in.js
|
||||
- jstests/core/query/or/orf.js
|
||||
- jstests/core/query/or/or_memory_limit.js
|
||||
- jstests/core/query/plan_cache/plan_cache_clear.js
|
||||
- jstests/core/query/plan_cache/plan_cache_list_plans.js
|
||||
|
||||
# Ignore because index filters are applied directly to collections, not views (or TS).
|
||||
- jstests/core/query/query_settings/query_settings_and_index_filters.js
|
||||
# Ignore because the rewrite of the query for TS leads to other stages preceding
|
||||
# $planCacheStats, which is not allowed.
|
||||
- jstests/core/query/query_settings/query_settings_reject_application_bypass.js
|
||||
- jstests/core/query/query_settings/query_settings_plan_cache.js
|
||||
# Ignore because the find command is rewritten for TS collections before reaching the failpoint.
|
||||
- jstests/core/query/query_settings/query_shape_hash_in_current_op.js
|
||||
- jstests/core/query/regex/regex.js
|
||||
- jstests/core/query/regex/regex3.js
|
||||
- jstests/core/query/regex/regex4.js
|
||||
- jstests/core/query/regex/regex6.js
|
||||
- jstests/core/query/regex/regex_distinct.js
|
||||
- jstests/core/query/sort/sort_array.js
|
||||
- jstests/core/query/sort/sort_merge_collation.js
|
||||
- jstests/core/query/sort/sort_merge_memory_limit.js
|
||||
- jstests/core/query/record_store_count.js
|
||||
- jstests/core/query/delete/batched_multi_deletes_a.js
|
||||
- jstests/core/query/delete/batched_multi_deletes_id.js
|
||||
- jstests/core/query/bulk/bulk_write_profile.js
|
||||
- jstests/core/query/parsing/delete_hint.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify_hint.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify_pipeline_update.js
|
||||
- jstests/core/query/update/update_hint.js
|
||||
- jstests/core/query/update/update_pipeline_shell_helpers.js
|
||||
# Incompatible with the update option manipulation from the override.
|
||||
- jstests/core/query/update/verify_update_mods.js
|
||||
# Sort takes much more memory for the time-series version.
|
||||
- jstests/core/query/sort/sortg.js
|
||||
# Update operator results in document without a time field.
|
||||
- jstests/core/query/find_and_modify/collation_find_and_modify.js
|
||||
# The passthrough creates collections implicitly.
|
||||
- jstests/core/write/no_db_created.js
|
||||
- jstests/core/query/invalid_db_name.js
|
||||
# Time-series collections have different _id properties.
|
||||
- jstests/core/query/embedded_dollar_prefixed_field_validation.js
|
||||
- jstests/core/query/field_name_validation.js
|
||||
- jstests/core/query/regex/regex_not_id.js
|
||||
- jstests/core/query/rename/rename_operator.js
|
||||
- jstests/core/write/insert/batch_write_command_insert.js
|
||||
- jstests/core/write/insert/insert1.js
|
||||
- jstests/core/write/insert/insert_id_undefined.js
|
||||
- jstests/core/query/update/update_mod_dotted.js
|
||||
- jstests/core/query/update/update_find_and_modify_id.js
|
||||
- jstests/core/query/update/update_setOnInsert.js
|
||||
- jstests/core/query/update/upsert_fields.js
|
||||
- jstests/core/query/update/upsert_fields_duplicate_or.js
|
||||
- jstests/core/query/update/upsert_nor.js
|
||||
- jstests/core/write/write_error_message_truncation.js
|
||||
- jstests/core/write/write_result.js
|
||||
# Time-series collections may generate different profiling entries from regular ones.
|
||||
- jstests/core/query/count/count10.js
|
||||
- jstests/core/query/count/count_plan_summary.js
|
||||
- jstests/core/query/plan_cache/cached_plan_trial_does_not_discard_work.js
|
||||
- jstests/core/query/top/top.js
|
||||
- jstests/core/query/top/top_drop.js
|
||||
# Buckets collection creates compounded secondary indexes, which is not compatible with wildcard indexes.
|
||||
- jstests/core/query/update/update_with_pipeline.js
|
||||
# Operations not allowed on views.
|
||||
- jstests/core/query/project/positional_projection_multiple_array_fields.js # $slice
|
||||
- jstests/core/query/elemmatch/**/*.js # $elemMatch
|
||||
- jstests/core/query/plan_cache/elem_match_index_diff_types.js # $elemMatch
|
||||
- jstests/core/query/plan_cache/match_or_duplicate_predicate_plan_cache.js # locking
|
||||
- jstests/core/query/plan_cache/query_solution_hash.js # locking
|
||||
- jstests/core/query/sbe/sbe_plan_cache_autoparameterize_collscan.js # locking
|
||||
- jstests/core/query/project/slice1.js # $slice
|
||||
- jstests/core/query/find_and_modify/find_and_modify_positional_new_remove.js # $elemMatch
|
||||
|
||||
# Time-series collections are views which don't support map-reduce
|
||||
- jstests/core/query/map_reduce/constructors.js
|
||||
- jstests/core/query/function_string_representations.js
|
||||
- jstests/core/query/map_reduce/map_reduce_validation.js
|
||||
- jstests/core/query/map_reduce/mr_single_reduce.js
|
||||
- jstests/core/query/map_reduce/**/*.js
|
||||
- jstests/core/query/recursion.js
|
||||
# Incompatible aggregation operations.
|
||||
- jstests/core/query/command_let_variables_merge_only.js # merge
|
||||
- jstests/core/query/exhaust.js # singleBatch
|
||||
- jstests/core/query/kill_cursors.js # noCursorTimeout
|
||||
- jstests/core/query/min_max_bounds.js # min
|
||||
- jstests/core/query/project/positional_projection.js # Positional projection
|
||||
- jstests/core/query/batch_size.js # singleBatch
|
||||
- jstests/core/query/dbref/dbref3.js # Positional projection
|
||||
# Not first stage in pipeline. The following test uses $planCacheStats, which is required to be the
|
||||
# first stage in a pipeline. This will be incomplatible with timeseries.
|
||||
- jstests/core/query/plan_cache/in_expression_plan_cache.js
|
||||
- jstests/core/query/plan_cache/plan_cache_distinct.js
|
||||
- jstests/core/query/find/find_getmore_cmd.js # singleBatch
|
||||
- jstests/core/query/find/finda.js # returnKey
|
||||
- jstests/core/query/index_key_expression.js # Unclean aggregation result
|
||||
- jstests/core/query/minmax.js # min
|
||||
- jstests/core/query/minmax_edge.js # min
|
||||
- jstests/core/query/partial_index_logical.js # Not first stage in pipeline
|
||||
- jstests/core/query/plan_cache/plan_cache_list_shapes.js # Not first stage in pipeline
|
||||
- jstests/core/query/plan_cache/plan_cache_positional_projection.js # Positional projection
|
||||
- jstests/core/query/plan_cache/plan_cache_sbe.js # Not first stage in pipeline
|
||||
- jstests/core/query/plan_cache/plan_cache_shell_helpers.js # Not first stage in pipeline
|
||||
- jstests/core/query/plan_cache/plan_cache_stats_shard_and_host.js # Not first stage in pipeline
|
||||
- jstests/core/query/project/project_with_collation.js # Positional projection
|
||||
- jstests/core/query/sbe/sbe_plan_cache_autoparameterize_ixscan.js # Not first stage in pipeline
|
||||
- jstests/core/query/sort/sorth.js # singleBatch
|
||||
- jstests/core/query/sort/sortk.js # singleBatch
|
||||
- jstests/core/query/return_key.js # returnKey
|
||||
- jstests/core/query/sbe/sbe_plan_cache_duplicate_or_clauses.js # Not first stage in pipeline
|
||||
- jstests/core/query/sort_min_max_options.js # max
|
||||
- jstests/core/query/single_batch.js # singleBatch
|
||||
- jstests/core/query/testminmax.js # min
|
||||
# Different field ordering.
|
||||
- jstests/core/query/basica.js
|
||||
- jstests/core/query/group_lookup_with_canonical_query_prefix.js
|
||||
- jstests/core/query/objid/objid3.js
|
||||
- jstests/core/query/or/or1.js
|
||||
- jstests/core/query/or/or2.js
|
||||
# Runs for too long for time-series collections.
|
||||
- jstests/core/query/batch_write/batch_write_command_update.js
|
||||
- jstests/core/query/batch_write/batch_write_command_delete.js
|
||||
# Multikey indexes and array measurement field.
|
||||
- jstests/core/query/match_numeric_components.js
|
||||
- jstests/core/query/array/array_index_scan_memory_limit.js
|
||||
- jstests/core/query/array/array1.js
|
||||
- jstests/core/query/array/arrayfind10.js
|
||||
- jstests/core/query/array/arrayfind8.js
|
||||
- jstests/core/query/collation_correctness_pbt.js
|
||||
- jstests/core/query/fixed_collation_correctness_pbt.js
|
||||
- jstests/core/query/covered_multikey.js
|
||||
- jstests/core/query/dotted_path_in_null.js
|
||||
- jstests/core/query/explode_for_sort_equality_to_array.js
|
||||
- jstests/core/query/explode_for_sort_multikey.js
|
||||
- jstests/core/query/find/find_dedup.js
|
||||
- jstests/core/query/find/find_project_sort.js
|
||||
- jstests/core/query/nan.js
|
||||
- jstests/core/query/not/not2.js
|
||||
- jstests/core/query/or/or8.js
|
||||
- jstests/core/query/sort/sorta.js
|
||||
- jstests/core/query/type/null_undefined.js
|
||||
- jstests/core/query/type/type_array.js
|
||||
- jstests/core/query/update/update_numeric_field_name.js
|
||||
- jstests/core/query/run_all_plans_pbt.js
|
||||
- jstests/core/query/plan_cache/cache_correctness_pbt.js
|
||||
- jstests/core/query/index_correctness_pbt.js
|
||||
- jstests/core/query/partial_index_pbt.js
|
||||
- jstests/core/query/query_knob_correctness_pbt.js
|
||||
- jstests/core/query/or/subplanning_pbt.js
|
||||
# Time-series collections have different indexes from regular collections.
|
||||
- jstests/core/query/array/arrayfind4.js
|
||||
- jstests/core/query/array/arrayfind9.js
|
||||
- jstests/core/query/array/arrayfinda.js
|
||||
- jstests/core/query/count/count_hint.js
|
||||
- jstests/core/query/exists/exists9.js
|
||||
- jstests/core/query/sort/sort8.js
|
||||
- jstests/core/query/update/collation_update.js
|
||||
- jstests/core/query/commands_with_uuid.js
|
||||
# Document size too big in the bucket format.
|
||||
- jstests/core/query/max_doc_size.js
|
||||
- jstests/core/query/find/find_getmore_bsonsize.js
|
||||
- jstests/core/query/set/set7.js
|
||||
# Different error message due to the override.
|
||||
- jstests/core/query/update/update_arrayFilters.js
|
||||
# TODO(SERVER-84158): Try to include this test(s).
|
||||
- jstests/core/write/depth_limit.js
|
||||
- jstests/core/query/mod/mod_with_where.js
|
||||
- jstests/core/query/and/and.js
|
||||
- jstests/core/query/cursor/cursora.js
|
||||
- jstests/core/query/expressions_matching_whole_array.js
|
||||
- jstests/core/query/find/find6.js
|
||||
|
||||
- jstests/core/query/js/**/*.js
|
||||
- jstests/core/query/or/ora.js
|
||||
- jstests/core/query/where/**/*.js
|
||||
- jstests/core/query/system_js_access.js
|
||||
- jstests/core/query/system_js_drop.js
|
||||
- jstests/core/query/find_and_modify/find_and_modify_where.js
|
||||
# TODO(SERVER-85322): Try to include this test(s).
|
||||
- jstests/core/query/resume_query.js
|
||||
- jstests/core/query/resume_query_from_non_existent_record.js
|
||||
- jstests/core/query/start_at_blocked_in_sbe.js
|
||||
# Inserting into a time-series collection does not replace top-level empty timestamps.
|
||||
- jstests/core/write/ts1.js
|
||||
# Cursor manipulation incompatible with count 'applySkipLimit' option.
|
||||
- jstests/core/query/count/count2.js
|
||||
# Known unclear issues with distinct.
|
||||
- jstests/core/query/distinct/distinct_semantics.js
|
||||
- jstests/core/query/distinct/distinct_collator.js
|
||||
# TODO(SERVER-85335): Try to include this test(s).
|
||||
- jstests/core/query/project/projection_meta_index_key.js
|
||||
- jstests/core/query/sort/sortl.js
|
||||
# Parallel shell not running through the override.
|
||||
- jstests/core/query/comment_field.js
|
||||
# Time-series buckets processing may have different cursor behavior.
|
||||
- jstests/core/query/cursor/getmore_invalidated_cursors.js
|
||||
- jstests/core/query/cursor/limit_batch_size.js
|
||||
# For inserts on time-series collections, mongod does _not_ replace empty timestamp values
|
||||
# with the current time.
|
||||
- jstests/core/write/empty_ts/empty_ts.js
|
||||
- jstests/core/write/empty_ts/empty_ts_bulk_write.js
|
||||
- jstests/core/write/empty_ts/bypass_empty_ts_replacement.js
|
||||
- jstests/core/write/empty_ts/bypass_empty_ts_replacement_bulk_write.js
|
||||
- jstests/core/write/empty_ts/bypass_empty_ts_replacement_timeseries.js
|
||||
# Change stream pre-/post-images are not available for time-series collections.
|
||||
- jstests/core/query/change_streams_pre_and_post_images_in_create_and_collmod.js
|
||||
# Inserts documents that are too large for a timeseries collection.
|
||||
- jstests/core/query/bson_size_limit.js
|
||||
# Test relying on document ordering that can be different for time-series collections.
|
||||
- jstests/core/query/update/update_fail_halts_modifications.js
|
||||
# geoNear requires setup such as a optimizations to be enabled for TS. See timeseries_geonear.js
|
||||
- jstests/core/query/geo/geo_extra_fields.js
|
||||
# Test relies on creating a collection without an index, so notablescan leads to a failure.
|
||||
- jstests/core/query/notablescan_sbe_consistency.js
|
||||
# Use godinsert command that is not supported on timeseries collections
|
||||
- jstests/core/query/update/update_guarantee_id.js
|
||||
exclude_with_any_tags:
|
||||
- requires_sharding
|
||||
- requires_capped
|
||||
- assumes_standalone_mongod
|
||||
- exclude_from_timeseries_crud_passthrough
|
||||
executor:
|
||||
archive:
|
||||
hooks:
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
// does_not_support_stepdowns,
|
||||
// # Explain of a resolved view must be executed by mongos.
|
||||
// directly_against_shardsvrs_incompatible,
|
||||
// # Time series collections cannot be used as a source for `viewOn` or have view-like limitations in this context.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
import {assertDropCollection} from "jstests/libs/collection_drop_recreate.js";
|
||||
import {getAggPlanStages, getPlanStages} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@
|
|||
// @tags: [
|
||||
// # Uses $where operator
|
||||
// requires_scripting,
|
||||
// requires_getmore
|
||||
// requires_getmore,
|
||||
// # TODO(SERVER-84158): Try to include this test.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.jstests_and;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
// assumes_read_concern_local,
|
||||
// requires_fcv_80,
|
||||
// requires_getmore,
|
||||
// # Explain will return different plan than expected when a collection becomes a time-series
|
||||
// # collection. Also, query shape will be different.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.jstests_and3;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
// @tags: [
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const coll = db.array1;
|
||||
coll.drop();
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
* # This test runs too long for TSAN and code coverage builds.
|
||||
* tsan_incompatible,
|
||||
* incompatible_with_gcov,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
* requires_fcv_83,
|
||||
* requires_getmore,
|
||||
* uses_getmore_outside_of_transaction,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
* Tests some of the find command's semantics with respect to how arrays are handled.
|
||||
* @tags: [
|
||||
* requires_getmore,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {arrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
// @tags: [
|
||||
// requires_non_retryable_writes,
|
||||
// requires_getmore
|
||||
// requires_getmore,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Test query empty array SERVER-2258
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@
|
|||
* Matching behavior for $elemMatch applied to a top level element.
|
||||
* Includes tests for bugs described in SERVER-1264 and SERVER-4180.
|
||||
* @tags: [
|
||||
* requires_getmore
|
||||
* requires_getmore,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const collNamePrefix = "jstests_arrayfind8_";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
// Assorted $elemMatch behavior checks.
|
||||
// @tags: [
|
||||
// requires_getmore
|
||||
// requires_getmore,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.jstests_arrayfind9;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
// Assorted $elemMatch matching behavior checks.
|
||||
// @tags: [
|
||||
// requires_getmore
|
||||
// requires_getmore,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.jstests_arrayfinda;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
// @tags: [
|
||||
// # Time series collections may return fields in a different order due to internal rewriting or view semantics.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.basica;
|
||||
|
||||
t.drop();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
// @tags: [
|
||||
// assumes_balancer_off,
|
||||
// requires_getmore
|
||||
// requires_getmore,
|
||||
// # Time series collections (as views) have specific limitations on aggregation stages
|
||||
// # (e.g. $merge, $out) or cursor options (e.g. noCursorTimeout, singleBatch).
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Test subtleties of batchSize and limit.
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
// requires_fastcount,
|
||||
// # TODO SERVER-89461 Investigate why test using huge batch size timeout in suites with balancer
|
||||
// assumes_balancer_off,
|
||||
// # Runs for too long for time-series collections.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
// requires_fastcount,
|
||||
// # TODO SERVER-89461 Investigate why test using huge batch size timeout in suites with balancer
|
||||
// assumes_balancer_off,
|
||||
// # Runs for too long for time-series collections.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@
|
|||
* This test ensures that bit test query operators work.
|
||||
* @tags: [
|
||||
* assumes_read_concern_local,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {getWinningPlanFromExplain, isCollscan} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
* requires_fcv_72,
|
||||
* # explain command, used by the test, does not support majority read concern.
|
||||
* assumes_read_concern_local,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
* requires_getmore,
|
||||
* # This test relies on query commands returning specific batch-sized responses.
|
||||
* assumes_no_implicit_cursor_exhaustion,
|
||||
* # Inserts documents that are too large for a timeseries collection.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const collName = jsTestName();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
// This test creates secondary unique: true indexes without the shard key prefix.
|
||||
// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes]
|
||||
// @tags: [
|
||||
// assumes_unsharded_collection,
|
||||
// requires_multi_updates,
|
||||
// requires_non_retryable_writes,
|
||||
// # Time series collections do not support unique indexes.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const coll = db[jsTestName()];
|
||||
coll.drop();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
// This test creates secondary unique: true indexes without the shard key prefix.
|
||||
// @tags: [assumes_unsharded_collection, requires_multi_updates, requires_non_retryable_writes]
|
||||
// @tags: [
|
||||
// assumes_unsharded_collection,
|
||||
// requires_multi_updates,
|
||||
// requires_non_retryable_writes,
|
||||
// # Time series collections do not support unique indexes.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const coll = db[jsTestName()];
|
||||
coll.drop();
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@
|
|||
* # The test runs commands that are not allowed with security token: bulkWrite.
|
||||
* not_allowed_with_signed_security_token,
|
||||
* command_not_supported_in_serverless,
|
||||
* requires_fcv_80
|
||||
* requires_fcv_80,
|
||||
* # Time-series is not allowed with an explicit validator.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
* assumes_no_implicit_index_creation,
|
||||
* # The test runs getLatestProfileEntry(). The downstream syncing node affects the profiler.
|
||||
* run_getLatestProfilerEntry,
|
||||
* # Ignore because the find command is rewritten for TS collections before reaching the failpoint.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
* @tags: [
|
||||
* requires_fcv_60,
|
||||
* requires_replication,
|
||||
* # Change stream pre-/post-images are not available for time-series collections.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {assertDropCollection} from "jstests/libs/collection_drop_recreate.js";
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
// # TODO(SERVER-112424): Instantiate ScopedAllowImplicitCollectionCreate_UNSAFE object in
|
||||
// # cloneCollectionAsCapped command
|
||||
// transitioning_replicaset_incompatible,
|
||||
// # Time series collections cannot be used as a source for `viewOn` or have view-like
|
||||
// # limitations in this context.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Integration tests for the collation feature.
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
* requires_getmore,
|
||||
* # This test runs commands that are not allowed with security token: setParameter.
|
||||
* not_allowed_with_signed_security_token,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
* @tags: [
|
||||
* requires_fcv_60,
|
||||
* assumes_stable_collection_uuid,
|
||||
* # Time series collections cannot be used as a source for `viewOn` or have view-like
|
||||
* # limitations in this context.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const testDB = db.getSiblingDB(jsTestName());
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
// does_not_support_config_fuzzer,
|
||||
// requires_fcv_81,
|
||||
// requires_getmore,
|
||||
// # Explain will return different plan than expected when a collection becomes a time-series
|
||||
// # collection. Also, query shape will be different.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
//
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@
|
|||
* # where the collection doesn't live on the primary shard.
|
||||
* assumes_balancer_off,
|
||||
* requires_getmore,
|
||||
* # Time series collections (as views) have specific limitations on aggregation stages
|
||||
* # (e.g. $merge, $out) or cursor options (e.g. noCursorTimeout, singleBatch).
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const coll = db.command_let_variables;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
* # Runs listCollections and asserts on the output.
|
||||
* assumes_no_implicit_index_creation,
|
||||
* assumes_stable_collection_uuid,
|
||||
* # Time series collections have specific index limitations (e.g. count hints, collation updates).
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@
|
|||
* requires_profiling,
|
||||
* uses_parallel_shell,
|
||||
* no_selinux,
|
||||
* # Parallel shell not running through the override.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@
|
|||
// # The balancer can interrupt the count operation, entering in a race with the parallel shell.
|
||||
// assumes_balancer_off,
|
||||
// requires_getmore,
|
||||
// # Time series collections (as views) generate different profiling/plan
|
||||
// # summary entries (e.g. distinct from underlying bucket collection).
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let coll = db.count10;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
// @tags: [requires_getmore, requires_fastcount]
|
||||
// @tags: [
|
||||
// requires_getmore,
|
||||
// requires_fastcount,
|
||||
// # Cursor manipulation incompatible on timeseries with count 'applySkipLimit' option.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
const coll = db.count2;
|
||||
coll.drop();
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,11 @@
|
|||
* - The hint() method should support both the name of the index, and the object spec of the
|
||||
* index.
|
||||
*
|
||||
* @tags: [requires_fastcount]
|
||||
* @tags: [
|
||||
* requires_fastcount,
|
||||
* # Time series collections have specific index limitations (e.g. count hints, collation updates).
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
let coll = db.jstests_count_hint;
|
||||
coll.drop();
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@
|
|||
// # shell to finish.
|
||||
// does_not_support_stepdowns,
|
||||
// assumes_balancer_off,
|
||||
// # Time series collections (as views) generate different profiling/plan summary entries
|
||||
// # (e.g. distinct from underlying bucket collection).
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
* # This test could produce unexpected explain output if additional indexes are created.
|
||||
* assumes_no_implicit_index_creation,
|
||||
* requires_getmore,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {arrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
// order to apply the SHARDING_FILTER stage.
|
||||
// @tags: [
|
||||
// assumes_unsharded_collection,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
// # in order to apply the SHARDING_FILTER stage.
|
||||
// assumes_unsharded_collection,
|
||||
// requires_getmore,
|
||||
// # Explain will return different plan than expected when a collection becomes a time-series
|
||||
// # collection. Also, query shape will be different.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
import {getPlanStage, getWinningPlanFromExplain, isIndexOnly} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
// requires_getmore,
|
||||
// # Unacknowledged writes are prohibited with sessions:
|
||||
// does_not_support_retryable_writes,
|
||||
// # Time series collections do not support `sort` in `findAndModify` commands.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
import {arrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
// requires_scripting,
|
||||
// uses_multiple_connections,
|
||||
// uses_parallel_shell,
|
||||
// # TODO(SERVER-84158): Try to include this test.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const t = db.cursora;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
// requires_non_retryable_commands,
|
||||
// # In-memory data structures are not causally consistent.
|
||||
// does_not_support_causal_consistency,
|
||||
// # Time-series buckets processing may have different cursor behavior.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
* # TODO SERVER-111689 - remove this tag when isEOF() is supported on router.
|
||||
* assumes_against_mongod_not_mongos,
|
||||
* requires_fcv_83,
|
||||
* # Time-series buckets processing may have different cursor behavior.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
// requires_getmore,
|
||||
// # Positional projection is not supported on views.
|
||||
// incompatible_with_views,
|
||||
// # Time series collections (as views) have specific limitations on aggregation stages
|
||||
// # (e.g. $merge, $out) or cursor options (e.g. noCursorTimeout, singleBatch).
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.dbref3;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
* does_not_support_transactions,
|
||||
* no_selinux,
|
||||
* requires_non_retryable_writes,
|
||||
* # Ignore because the find command is rewritten for TS collections before reaching the failpoint.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
* does_not_support_transactions,
|
||||
* no_selinux,
|
||||
* requires_non_retryable_writes,
|
||||
* # Ignore because the find command is rewritten for TS collections before reaching the failpoint.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
// @tags: [requires_non_retryable_writes, requires_fastcount]
|
||||
// @tags: [
|
||||
// requires_non_retryable_writes,
|
||||
// requires_fastcount,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const t = db[jsTestName()];
|
||||
t.drop();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
// @tags: [requires_non_retryable_writes]
|
||||
// @tags: [
|
||||
// requires_non_retryable_writes,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db[jsTestName()];
|
||||
t.drop();
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
*
|
||||
* @tags: [
|
||||
* requires_non_retryable_writes,
|
||||
* # Time series collections cannot be used as a source for `viewOn` or
|
||||
* # shave view-like limitations in this context.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const viewNs = "test.view";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
* assumes_write_concern_unchanged,
|
||||
* does_not_support_transactions,
|
||||
* does_not_support_stepdowns,
|
||||
* # Known unclear issues with distinct on timeseries.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
// assumes_unsharded_collection,
|
||||
// # Asserts that some queries use a collection scan.
|
||||
// assumes_no_implicit_index_creation,
|
||||
// # Explain will return different plan than expected when a collection becomes a time-series
|
||||
// # collection. Also, query shape will be different.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@
|
|||
* requires_fcv_82,
|
||||
* simulate_atlas_proxy_incompatible,
|
||||
* simulate_mongoq_incompatible,
|
||||
* not_allowed_with_signed_security_token
|
||||
* not_allowed_with_signed_security_token,
|
||||
* # Time series collections do not support hashed indexes on measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
* @tags: [
|
||||
* assumes_unsharded_collection,
|
||||
* requires_fcv_71,
|
||||
* # Time series collections do not support sparse indexes on measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
* @tags: [
|
||||
* assumes_balancer_off,
|
||||
* assumes_read_concern_local,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@
|
|||
* @tags: [
|
||||
* assumes_unsharded_collection,
|
||||
* does_not_support_stepdowns,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {getAggPlanStages, getWinningPlanFromExplain, planHasStage} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,10 @@
|
|||
* # Explain cannot run within a multi-document transaction.
|
||||
* does_not_support_transactions,
|
||||
* featureFlagShardFilteringDistinctScan,
|
||||
* requires_fcv_82
|
||||
* requires_fcv_82,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {assertEngine, getPlanStage, getWinningPlanFromExplain} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
/**
|
||||
* Test that 'distinct' command returns expected results for various inputs.
|
||||
*
|
||||
* @tags: [
|
||||
* # Known unclear issues with distinct on timeseries.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
import {assertArrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
* @tags: [
|
||||
* assumes_unsharded_collection,
|
||||
* does_not_support_stepdowns,
|
||||
* # Time series collections do not support hashed indexes on measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
// @tags: [
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const coll = db.dotted_path_in_null;
|
||||
coll.drop();
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
* @tags: [
|
||||
* assumes_unsharded_collection,
|
||||
* requires_fcv_71,
|
||||
* # Time-series collections have different _id properties.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const coll = db.field_name_validation;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
// simulate_atlas_proxy_incompatible,
|
||||
// # This test relies on query commands returning specific batch-sized responses.
|
||||
// assumes_no_implicit_cursor_exhaustion,
|
||||
// # Time series collections (as views) have specific limitations on aggregation stages (e.g. $merge, $out) or cursor options (e.g. noCursorTimeout, singleBatch).
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const coll = db.exhaustColl;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
// SERVER-393 Test exists with various empty array and empty object cases.
|
||||
// @tags: [
|
||||
// requires_getmore,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.jstests_exists9;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@
|
|||
* Tests that sparse indexes are disallowed for $exists:false queries.
|
||||
* @tags: [
|
||||
* requires_getmore,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const coll = db.jstests_existsa;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
* @tags: [
|
||||
* # explain does not support majority read concern
|
||||
* assumes_read_concern_local,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {getPlanStages, getWinningPlanFromExplain} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
* requires_fcv_81,
|
||||
* # Makes assertions about the number of rejected plans
|
||||
* assumes_no_implicit_index_creation,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {hasRejectedPlans, planHasStage} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@
|
|||
// requires_getmore,
|
||||
// # This test relies on query commands returning specific batch-sized responses.
|
||||
// assumes_no_implicit_cursor_exhaustion,
|
||||
// # Test relies on mapReduce or unsupported $expr behaviors (e.g. $divide error codes) on time-series.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
import "jstests/libs/query/sbe_assert_error_override.js";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
/*
|
||||
* Tests the rewrite of queries that contain $and inside $expr.
|
||||
* @tags: [
|
||||
* requires_fcv_82
|
||||
* requires_fcv_82,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
// assumes_read_concern_local,
|
||||
// requires_fcv_81,
|
||||
// requires_getmore,
|
||||
// # Explain will return different plan than expected when a collection becomes a time-series
|
||||
// # collection. Also, query shape will be different.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@
|
|||
// requires_getmore,
|
||||
// # $text is not supported on views.
|
||||
// incompatible_with_views,
|
||||
// # Explain will return different plan than expected when a collection becomes a time-series
|
||||
// # collection. Also, query shape will be different.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
import {getAggPlanStage, getEngine, getPlanStage, hasRejectedPlans} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
// # Uses $where operator
|
||||
// requires_scripting,
|
||||
// requires_getmore,
|
||||
// # TODO(SERVER-84158): Try to include this test.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const coll = db.expressions_matching_whole_array;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
* @tags: [
|
||||
* assumes_read_concern_local,
|
||||
* requires_getmore,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {assertArrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
* @tags: [
|
||||
* assumes_unsharded_collection,
|
||||
* requires_getmore,
|
||||
* # Time-series collections have different _id properties.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const coll = db.field_name_validation;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
// requires_fastcount,
|
||||
// # Uses $where operator
|
||||
// requires_scripting,
|
||||
// # TODO(SERVER-84158): Try to include this test.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db.find6;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@
|
|||
//
|
||||
// @tags: [
|
||||
// requires_fastcount,
|
||||
// requires_getmore
|
||||
// requires_getmore,
|
||||
// # Time series collections do not support indexing array values in measurement fields.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const coll = db.jstests_find_dedup;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
// does_not_support_config_fuzzer,
|
||||
// # This test relies on query commands returning specific batch-sized responses.
|
||||
// assumes_no_implicit_cursor_exhaustion,
|
||||
// # Time series collections pack measurements into buckets, potentially exceeding
|
||||
// # BSON size limits earlier than regular collections.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Ensure that the find and getMore commands can handle documents nearing the 16 MB size limit for
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@
|
|||
// requires_getmore,
|
||||
// # This test relies on query commands returning specific batch-sized responses.
|
||||
// assumes_no_implicit_cursor_exhaustion,
|
||||
// # Not first stage in pipeline. The following test uses $planCacheStats, which is required to be the
|
||||
// # first stage in a pipeline. This will be incomplatible with timeseries.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Tests that explicitly invoke the find and getMore commands.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
/**
|
||||
* Test a variety of predicates for the find command's filter, projection and sort expressions.
|
||||
* @tags: [
|
||||
* requires_getmore
|
||||
* requires_getmore,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {arrayEq, orderedArrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@
|
|||
// requires_getmore,
|
||||
// # This test relies on query commands returning specific batch-sized responses.
|
||||
// assumes_no_implicit_cursor_exhaustion,
|
||||
// # Not first stage in pipeline. The following test uses $planCacheStats, which is required to be the
|
||||
// # first stage in a pipeline. This will be incomplatible with timeseries.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Tests where the QueryOptimizerCursor enters takeover mode during a query rather than a get more.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
// 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,
|
||||
// # Update operator results in document without a time field.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Integration tests for collation-aware findAndModify.
|
||||
const coll = db[jsTestName()];
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
// @tags: [
|
||||
// requires_fastcount,
|
||||
// # Time series collections do not support `sort` in `findAndModify` commands.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const t = db[jsTestName()];
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
// @tags: [requires_non_retryable_writes]
|
||||
// @tags: [
|
||||
// requires_non_retryable_writes,
|
||||
// # Time series collections do not support `sort` in `findAndModify` commands.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
// Test passing update:{} to findAndModify. SERVER-13883.
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
* @tags: [
|
||||
* assumes_unsharded_collection,
|
||||
* requires_non_retryable_writes,
|
||||
* # Ignore because the find command is rewritten for TS collections before reaching the failpoint.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
*
|
||||
* @tags: [
|
||||
* assumes_unsharded_collection,
|
||||
* # Time series collections do not support `sort` in `findAndModify` commands.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const coll = db[jsTestName()];
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
// @tags: [
|
||||
// # Time series collections do not support `sort` in `findAndModify` commands.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const t = db[jsTestName()];
|
||||
t.drop();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
/**
|
||||
* Tests the pipeline-style update is accepted by the findAndModify command.
|
||||
* @tags: [requires_non_retryable_writes]
|
||||
* @tags: [
|
||||
* requires_non_retryable_writes,
|
||||
* # Ignore because the find command is rewritten for TS collections before reaching the failpoint.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
import {getPlanStage, planHasStage} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
// @tags: [
|
||||
// # Time series collections do not support `sort` in `findAndModify` commands.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
let t = db[jsTestName()];
|
||||
t.drop();
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
* @tags: [
|
||||
* # $elemMatch is not supported in find on a view.
|
||||
* incompatible_with_views,
|
||||
* # Time series collections (as views) do not support this operation (e.g. $elemMatch, $slice).
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
const t = db[jsTestName()];
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
//
|
||||
// # Uses $where operator
|
||||
// requires_scripting,
|
||||
// # TODO(SERVER-84158): Try to include this test(s).
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const t = db[jsTestName()];
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@
|
|||
* requires_capped,
|
||||
* # TODO(SERVER-113809): Check query error on replicaset running as --shardsvr
|
||||
* transitioning_replicaset_incompatible,
|
||||
* # Time-series collections already have the default clustered index.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@
|
|||
* # This test runs commands that are not allowed with security token: setParameter.
|
||||
* not_allowed_with_signed_security_token,
|
||||
* # Multiversion tests rediscover an issue where a buggy optimization omits $sortKey when required.
|
||||
* requires_fcv_83
|
||||
* requires_fcv_83,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
* uses_map_reduce_with_temp_collections,
|
||||
* # Uses $where operator
|
||||
* requires_scripting,
|
||||
* # Time-series collections are views which don't support map-reduce
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
// This test verifies that queries on GeoJSON work regardless of extra fields and their
|
||||
// position in respect to the GeoJSON fields.
|
||||
// @tags: [
|
||||
// requires_fcv_82
|
||||
// requires_fcv_82,
|
||||
// # geoNear requires setup such as a optimizations to be enabled for TS. See timeseries_geonear.js
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
const testDB = db.geo_extra_fields;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@
|
|||
* assumes_read_concern_unchanged,
|
||||
* requires_fcv_80,
|
||||
* no_selinux,
|
||||
* # Time series collections may return fields in a different order due to internal rewriting or view semantics.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {arrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@
|
|||
* prefix.
|
||||
* @tags: [
|
||||
* assumes_read_concern_local,
|
||||
* requires_getmore
|
||||
* requires_getmore,
|
||||
* # Time series collections do not support hashed indexes on measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {arrayEq} from "jstests/aggregation/extras/utils.js";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
// requires_getmore,
|
||||
// # $elemMatch is not supported in find on a view.
|
||||
// incompatible_with_views,
|
||||
// # Explain will return different plan than expected when a collection becomes a time-series
|
||||
// # collection. Also, query shape will be different.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
// Include helpers for analyzing explain output.
|
||||
import {getWinningPlanFromExplain, isExpress, isIdhackOrExpress} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
* does_not_support_stepdowns,
|
||||
* # Runs queries that may return many results, requiring getmores
|
||||
* requires_getmore,
|
||||
* # Time series collections do not support indexing array values in measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {createCorrectnessProperty} from "jstests/libs/property_test_helpers/common_properties.js";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,10 @@
|
|||
* # This test runs commands that are not allowed with security token: setParameter.
|
||||
* not_allowed_with_signed_security_token,
|
||||
* # Index deduping not available on earlier FCVs.
|
||||
* requires_fcv_80
|
||||
* requires_fcv_80,
|
||||
* # Explain will return different plan than expected when a collection becomes a time-series
|
||||
* # collection. Also, query shape will be different.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
* @tags: [
|
||||
* does_not_support_stepdowns,
|
||||
* requires_fcv_63,
|
||||
* # Not first stage in pipeline. The following test uses $planCacheStats, which is required to be the
|
||||
* # first stage in a pipeline. This will be incomplatible with timeseries.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {FeatureFlagUtil} from "jstests/libs/feature_flag_util.js";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,12 @@
|
|||
* test reproduces several failing cases for passthrough suites.
|
||||
*
|
||||
* TODO BACKPORT-24552, BACKPORT-24553 - relax this fcv requirement.
|
||||
* @tags: [requires_fcv_82, requires_non_retryable_commands]
|
||||
* @tags: [
|
||||
* requires_fcv_82,
|
||||
* requires_non_retryable_commands,
|
||||
* # Time series collections do not support hashed indexes on measurement fields.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {TestCases} from "jstests/libs/query/index_with_hashed_path_prefix_of_nonhashed_path_tests.js";
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
* @tags: [
|
||||
* # Explain command does not support read concerns other than local.
|
||||
* assumes_read_concern_local,
|
||||
* # Time series collections do not support text indexes.
|
||||
* exclude_from_timeseries_crud_passthrough,
|
||||
* ]
|
||||
*/
|
||||
import {planHasStage} from "jstests/libs/query/analyze_plan.js";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@
|
|||
//
|
||||
// Can't create a collection with invalid database name
|
||||
// @tags: [
|
||||
// assumes_no_implicit_collection_creation_on_get_collection
|
||||
// assumes_no_implicit_collection_creation_on_get_collection,
|
||||
// # The passthrough creates collections implicitly.
|
||||
// exclude_from_timeseries_crud_passthrough,
|
||||
// ]
|
||||
|
||||
import {FixtureHelpers} from "jstests/libs/fixture_helpers.js";
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue