diff options
author | Ian Boros <ian.boros@mongodb.com> | 2023-03-16 15:26:43 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-03-21 15:40:07 +0000 |
commit | eb49b1fea5972be2345dddd9b8ab2274da701edf (patch) | |
tree | 2c6f74324d94423715a0fa4066ed0ab7a5c61ac3 | |
parent | 988151ae978b51b5c4c9b28424c96ab6b0a436ce (diff) | |
download | mongo-eb49b1fea5972be2345dddd9b8ab2274da701edf.tar.gz |
SERVER-74901 Disable CSI by default
(cherry picked from commit 7a00cd0798725c1d635885788cff9729936f6456)
27 files changed, 214 insertions, 168 deletions
diff --git a/buildscripts/resmokeconfig/suites/parallel.yml b/buildscripts/resmokeconfig/suites/parallel.yml index 6137065f2c4..28d13aa2bbc 100644 --- a/buildscripts/resmokeconfig/suites/parallel.yml +++ b/buildscripts/resmokeconfig/suites/parallel.yml @@ -25,5 +25,3 @@ executor: mongod_options: set_parameters: enableTestCommands: 1 - # Fully enable column scan for CSI tests. This can't be done at runtime because it interferes with other tests. - internalQueryColumnScanMinNumColumnFilters: 0 diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 5fb035ff58b..3ef63310766 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -190,12 +190,12 @@ variables: distros: - windows-vsCurrent-large - name: burn_in_tests_gen - - name: .aggfuzzer .common + - name: .aggfuzzer .common !.feature_flag_guarded - name: audit - name: auth_audit_gen - name: buildscripts_test - name: causally_consistent_jscore_txns_passthrough - - name: .encrypt !.aggregation !.gcm + - name: .encrypt !.aggregation !.gcm !.feature_flag_guarded - name: external_auth - name: external_auth_aws - name: external_auth_windows @@ -251,7 +251,7 @@ variables: - name: compile_build_tools_next_TG distros: - rhel70 - - name: .aggfuzzer + - name: .aggfuzzer !.feature_flag_guarded - name: audit - name: auth_audit_gen - name: auth_gen @@ -316,7 +316,7 @@ buildvariants: large_distro_name: rhel80-medium compile_variant: *linux_x86_dynamic_debug_compile_variant_name tasks: - - name: .aggregation !.encrypt + - name: .aggregation !.encrypt !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: .causally_consistent !.wo_snapshot - name: .change_streams !.secondary_reads @@ -396,8 +396,8 @@ buildvariants: distros: - rhel80-xlarge - name: test_api_version_compatibility - - name: .aggfuzzer !.multiversion - - name: .aggregation !.multiversion + - name: .aggfuzzer !.multiversion !.feature_flag_guarded + - name: .aggregation !.multiversion !.feature_flag_guarded - name: audit - name: .auth !.multiversion - name: .causally_consistent !.sharding @@ -624,8 +624,8 @@ buildvariants: distros: - rhel80-xlarge - name: test_api_version_compatibility - - name: .aggfuzzer !.multiversion - - name: .aggregation !.multiversion + - name: .aggfuzzer !.multiversion !.feature_flag_guarded + - name: .aggregation !.multiversion !.feature_flag_guarded - name: audit - name: .auth !.multiversion - name: .causally_consistent !.sharding @@ -771,7 +771,7 @@ buildvariants: - name: compile_build_tools_next_TG distros: - windows-vsCurrent-xlarge - - name: .aggregation !.auth !.encrypt + - name: .aggregation !.auth !.encrypt !.feature_flag_guarded - name: aggregation_expression_multiversion_fuzzer_gen - name: aggregation_expression_optimization_fuzzer_gen - name: auth_gen @@ -988,8 +988,8 @@ buildvariants: - name: compile_test_and_package_serial_TG distros: - windows-vsCurrent-large - - name: .aggfuzzer - - name: .aggregation !.auth !.encrypt !.unwind + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.auth !.encrypt !.unwind !.feature_flag_guarded - name: auth_gen - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -1082,7 +1082,7 @@ buildvariants: tasks: - name: compile_test_and_package_serial_TG - name: compile_build_tools_next_TG - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: auth_gen - name: causally_consistent_jscore_txns_passthrough - name: disk_wiredtiger @@ -1295,8 +1295,8 @@ buildvariants: variant: generate-tasks-for-version tasks: - name: burn_in_tests_gen - - name: .aggfuzzer - - name: .aggregation + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.feature_flag_guarded - name: audit - name: .auth - name: unittest_shell_hang_analyzer_gen @@ -1398,8 +1398,8 @@ buildvariants: distros: - rhel80-xlarge - name: test_api_version_compatibility - - name: .aggfuzzer !.no_debug_mode - - name: .aggregation !.no_debug_mode + - name: .aggfuzzer !.feature_flag_guarded !.no_debug_mode + - name: .aggregation !.feature_flag_guarded !.no_debug_mode - name: audit - name: .auth !.no_debug_mode - name: .causally_consistent !.sharding @@ -1868,7 +1868,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel80-xlarge - - name: .aggfuzzer + - name: .aggfuzzer !.feature_flag_guarded - name: audit - name: auth_audit_gen - name: auth_gen @@ -2717,8 +2717,8 @@ buildvariants: # - name: test_api_version_compatibility # Not relevant for TSAN # - name: burn_in_tests_gen # No burn in tests needed - name: check_feature_flag_tags - # - name: .aggfuzzer # Not passing - # - name: .aggregation # Not passing + # - name: .aggfuzzer !.feature_flag_guarded # Not passing + # - name: .aggregation !.feature_flag_guarded # Not passing - name: audit # - name: .auth # Not passing # - name: burn_in_tags_gen # No burn in tests needed @@ -2825,8 +2825,8 @@ buildvariants: compile_variant: *enterprise-rhel80-debug-complete-tsan tasks: - name: compile_test_and_package_serial_TG - - name: .aggfuzzer - - name: .aggregation + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.feature_flag_guarded - name: .auth - name: resmoke_end2end_tests - name: unittest_shell_hang_analyzer_gen @@ -2972,7 +2972,7 @@ buildvariants: - name: compile_test_and_package_parallel_dbtest_stream_TG distros: - rhel80-build - - name: .aggregation !.no_async + - name: .aggregation !.no_async !.feature_flag_guarded - name: .sharding .auth - name: .sharding .causally_consistent !.wo_snapshot - name: .concurrency .common !.kill_terminate @@ -3014,7 +3014,7 @@ buildvariants: - name: compile_test_and_package_parallel_dbtest_stream_TG distros: - rhel80-build - - name: .aggregation !.no_async + - name: .aggregation !.no_async !.feature_flag_guarded - name: .sharding .auth - name: .sharding .causally_consistent !.wo_snapshot - name: .concurrency .common !.kill_terminate @@ -3053,7 +3053,7 @@ buildvariants: - name: compile_test_and_package_parallel_dbtest_stream_TG distros: - rhel80-build - - name: .aggregation !.no_async + - name: .aggregation !.no_async !.feature_flag_guarded - name: .sharding .auth - name: .sharding .causally_consistent !.wo_snapshot - name: .concurrency .common !.kill_terminate @@ -3097,7 +3097,7 @@ buildvariants: - name: compile_test_and_package_parallel_dbtest_stream_TG distros: - rhel80-build - - name: .aggregation !.no_async + - name: .aggregation !.no_async !.feature_flag_guarded - name: .sharding .auth - name: .sharding .causally_consistent !.wo_snapshot - name: .concurrency .common !.kill_terminate @@ -3141,7 +3141,7 @@ buildvariants: - name: compile_test_and_package_parallel_dbtest_stream_TG distros: - rhel80-build - - name: .aggregation !.no_async + - name: .aggregation !.no_async !.feature_flag_guarded - name: .sharding .auth - name: .sharding .causally_consistent !.wo_snapshot - name: .concurrency .common !.kill_terminate @@ -3178,7 +3178,7 @@ buildvariants: distros: - rhel80-build patch_only: true - - name: .aggregation !.no_async + - name: .aggregation !.no_async !.feature_flag_guarded patch_only: true - name: .sharding .auth patch_only: true diff --git a/etc/evergreen_nightly.yml b/etc/evergreen_nightly.yml index 65b1d98d6f8..eb79dc402bd 100644 --- a/etc/evergreen_nightly.yml +++ b/etc/evergreen_nightly.yml @@ -102,7 +102,7 @@ buildvariants: large_distro_name: rhel80-medium compile_variant: *linux_x86_dynamic_debug_compile_variant_name tasks: - - name: .aggregation !.encrypt + - name: .aggregation !.encrypt !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: .causally_consistent !.wo_snapshot - name: .change_streams !.secondary_reads @@ -224,8 +224,8 @@ buildvariants: variant: generate-tasks-for-version tasks: #- name: burn_in_tests_gen - - name: .aggfuzzer - - name: .aggregation + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.feature_flag_guarded - name: audit - name: .auth - name: unittest_shell_hang_analyzer_gen diff --git a/etc/evergreen_yml_components/definitions.yml b/etc/evergreen_yml_components/definitions.yml index d40cbb0a5b2..c47f2fc3ec4 100644 --- a/etc/evergreen_yml_components/definitions.yml +++ b/etc/evergreen_yml_components/definitions.yml @@ -3876,7 +3876,7 @@ tasks: ## Standalone fuzzer for checking columnstore index correctness ## - <<: *jstestfuzz_template name: aggregation_columnstore_fuzzer_gen - tags: ["aggfuzzer", "common", "columnstore", "require_npm", "random_name", "sbe_only"] + tags: ["aggfuzzer", "common", "columnstore", "require_npm", "random_name", "sbe_only", "feature_flag_guarded"] commands: - func: "generate resmoke tasks" vars: @@ -4691,7 +4691,9 @@ tasks: - <<: *task_template name: aggregation_column_store_index_passthrough - tags: ["aggregation", "sbe_only"] + # TODO SERVER-75026 Remove the 'feature_flag_guarded' tag and ensure this suite is run on all + # variants. + tags: ["aggregation", "sbe_only", "feature_flag_guarded"] depends_on: - name: aggregation commands: @@ -5515,9 +5517,11 @@ tasks: - <<: *task_template name: jsCore_column_store_indexes + # TODO SERVER-75026 Remove the 'feature_flag_guarded' tag and ensure this suite is run on all + # variants. + tags: ["jscore", "sbe_only", "feature_flag_guarded"] depends_on: - name: jsCore - tags: ["jscore", "sbe_only"] commands: - func: "do setup" - func: "run tests" diff --git a/etc/evergreen_yml_components/variants/atlas.yml b/etc/evergreen_yml_components/variants/atlas.yml index 6b5bfa62e3d..4fd8338623d 100644 --- a/etc/evergreen_yml_components/variants/atlas.yml +++ b/etc/evergreen_yml_components/variants/atlas.yml @@ -41,7 +41,7 @@ buildvariants: - name: compile_build_tools_next_TG distros: - rhel70 - - name: .aggfuzzer + - name: .aggfuzzer !.feature_flag_guarded - name: audit - name: auth_audit_gen - name: auth_gen @@ -50,7 +50,7 @@ buildvariants: - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - name: external_auth - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: jsCore_txns_large_txns_format - name: .jstestfuzz .common - name: libunwind_tests diff --git a/etc/evergreen_yml_components/variants/in_memory.yml b/etc/evergreen_yml_components/variants/in_memory.yml index 56ab083b1d4..21e5335ca6e 100644 --- a/etc/evergreen_yml_components/variants/in_memory.yml +++ b/etc/evergreen_yml_components/variants/in_memory.yml @@ -29,8 +29,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel80-xlarge - - name: .aggfuzzer .common - - name: .aggregation !.unwind !.encrypt + - name: .aggfuzzer .common !.feature_flag_guarded + - name: .aggregation !.unwind !.encrypt !.feature_flag_guarded - name: audit - name: .auth !.multiversion - name: .causally_consistent !.wo_snapshot !.durable_history @@ -108,7 +108,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - windows-vsCurrent-large - - name: .aggfuzzer .common + - name: .aggfuzzer .common !.feature_flag_guarded - name: audit - name: auth_audit_gen - name: causally_consistent_jscore_txns_passthrough diff --git a/etc/evergreen_yml_components/variants/misc_release.yml b/etc/evergreen_yml_components/variants/misc_release.yml index 5855bb0691e..19a4221842f 100644 --- a/etc/evergreen_yml_components/variants/misc_release.yml +++ b/etc/evergreen_yml_components/variants/misc_release.yml @@ -32,8 +32,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - amazon2-build - - name: .aggfuzzer .common - - name: aggregation + - name: .aggfuzzer .common !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -98,8 +98,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - amazon2-build - - name: .aggfuzzer .common - - name: aggregation + - name: .aggfuzzer .common !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: audit - name: .auth !.multiversion - name: causally_consistent_jscore_txns_passthrough @@ -153,7 +153,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - amazon2-arm64-large - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -220,8 +220,8 @@ buildvariants: distros: - amazon2-arm64-large - name: test_api_version_compatibility - - name: .aggfuzzer - - name: .aggregation + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.feature_flag_guarded - name: audit - name: .auth - name: .causally_consistent !.sharding @@ -246,7 +246,7 @@ buildvariants: - name: jsCore distros: - amazon2-arm64-large - - name: .jscore .common !jsCore + - name: .jscore .common !jsCore !.feature_flag_guarded - name: jsCore_min_batch_repeat_queries_ese_gsm - name: jsCore_txns_large_txns_format - name: json_schema @@ -386,8 +386,8 @@ buildvariants: distros: - amazon2022-large - name: test_api_version_compatibility - - name: .aggfuzzer !.multiversion - - name: .aggregation + - name: .aggfuzzer !.multiversion !.feature_flag_guarded + - name: .aggregation !.feature_flag_guarded - name: audit - name: .auth !.multiversion - name: .causally_consistent !.sharding @@ -486,7 +486,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - amazon2022-arm64-large - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -549,8 +549,8 @@ buildvariants: distros: - amazon2022-arm64-large - name: test_api_version_compatibility - - name: .aggfuzzer !.multiversion - - name: .aggregation + - name: .aggfuzzer !.feature_flag_guarded !.multiversion + - name: .aggregation !.feature_flag_guarded - name: audit - name: .auth !.multiversion - name: .causally_consistent !.sharding @@ -575,7 +575,7 @@ buildvariants: - name: jsCore distros: - amazon2022-arm64-large - - name: .jscore .common !jsCore + - name: .jscore .common !jsCore !.feature_flag_guarded - name: jsCore_min_batch_repeat_queries_ese_gsm - name: jsCore_txns_large_txns_format - name: json_schema @@ -657,8 +657,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - debian10-build - - name: .aggfuzzer .common - - name: aggregation + - name: .aggfuzzer .common !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: aggregation_auth - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough @@ -667,7 +667,7 @@ buildvariants: - name: concurrency_replication_causal_consistency_gen - name: disk_wiredtiger - name: free_monitoring - - name: .jscore .common !.decimal + - name: .jscore .common !.decimal !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: multiversion_gen @@ -723,14 +723,14 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - debian10-build - - name: .aggfuzzer .common + - name: .aggfuzzer .common !.feature_flag_guarded - name: audit - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - name: .jepsen_docker distros: - debian10-large - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: replica_sets_auth_gen @@ -775,8 +775,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - debian11-large - - name: .aggfuzzer .common - - name: aggregation + - name: .aggfuzzer .common !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: aggregation_auth - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough @@ -785,7 +785,7 @@ buildvariants: - name: concurrency_replication_causal_consistency_gen - name: disk_wiredtiger - name: free_monitoring - - name: .jscore .common !.decimal + - name: .jscore .common !.decimal !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: multiversion_gen @@ -839,14 +839,14 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - debian11-large - - name: .aggfuzzer .common + - name: .aggfuzzer .common !.feature_flag_guarded - name: audit - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - name: .jepsen_docker distros: - debian11-large - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: replica_sets_auth_gen @@ -890,7 +890,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel70 - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -991,7 +991,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel80-build - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -1059,8 +1059,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel80-large - - name: .aggfuzzer - - name: .aggregation + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.feature_flag_guarded - name: audit - name: .auth - name: unittest_shell_hang_analyzer_gen @@ -1168,7 +1168,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel82-arm64-large - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -1229,7 +1229,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel82-arm64-large - - name: .aggfuzzer !.multiversion + - name: .aggfuzzer !.multiversion !.feature_flag_guarded - name: audit - name: auth_audit_gen - name: auth_gen @@ -1237,7 +1237,7 @@ buildvariants: - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore - name: external_auth - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: jsCore_txns_large_txns_format - name: .jstestfuzz .common - name: .logical_session_cache .one_sec @@ -1286,7 +1286,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel90-build - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -1343,7 +1343,7 @@ buildvariants: - name: compile_build_tools_next_TG distros: - rhel90-large - - name: .aggfuzzer !.multiversion + - name: .aggfuzzer !.feature_flag_guarded !.multiversion - name: audit - name: auth_audit_gen - name: auth_gen @@ -1471,7 +1471,7 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - rhel90-arm64-large - - name: .aggfuzzer !.multiversion + - name: .aggfuzzer !.multiversion !.feature_flag_guarded - name: audit - name: auth_audit_gen - name: auth_gen @@ -1536,8 +1536,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - suse12-sp5-large - - name: .aggfuzzer .common - - name: aggregation + - name: .aggfuzzer .common !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -1548,7 +1548,7 @@ buildvariants: - name: concurrency_replication_causal_consistency_gen - name: disk_wiredtiger - name: free_monitoring - - name: .jscore .common !.decimal + - name: .jscore .common !.decimal !.feature_flag_guarded - name: .jstestfuzz .common - name: multiversion_gen - name: .logical_session_cache .one_sec @@ -1604,11 +1604,11 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - suse12-sp5-large - - name: .aggfuzzer .common + - name: .aggfuzzer .common !.feature_flag_guarded - name: audit - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: replica_sets_auth_gen @@ -1660,11 +1660,11 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - suse15-build - - name: .aggfuzzer .common !.multiversion + - name: .aggfuzzer .common !.multiversion !.feature_flag_guarded - name: audit - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: replica_sets_auth_gen @@ -1709,8 +1709,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - suse15-build - - name: .aggfuzzer .common !.multiversion - - name: aggregation + - name: .aggfuzzer .common !.multiversion !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -1718,7 +1718,7 @@ buildvariants: - name: concurrency_replication_causal_consistency_gen - name: disk_wiredtiger - name: free_monitoring - - name: .jscore .common !.decimal + - name: .jscore .common !.decimal !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: multiversion_gen @@ -1766,8 +1766,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - ubuntu1804-build - - name: .aggfuzzer .common - - name: aggregation + - name: .aggfuzzer .common !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: .misc_js - name: .concurrency .common @@ -1850,7 +1850,7 @@ buildvariants: - ubuntu1804-build - name: .crypt - name: .publish_crypt - - name: .aggfuzzer .common + - name: .aggfuzzer .common !.feature_flag_guarded - name: audit - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore @@ -1859,7 +1859,7 @@ buildvariants: - name: .jepsen distros: - ubuntu1804-build - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: jsCore_auth - name: .jstestfuzz .common - name: libunwind_tests @@ -1918,7 +1918,7 @@ buildvariants: compile_variant: enterprise-ubuntu1804-arm64 tasks: - name: compile_test_and_package_serial_no_unittests_TG - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: aggregation_wildcard_fuzzer_gen - name: .auth !.audit !.multiversion !.jscore - name: causally_consistent_jscore_txns_passthrough @@ -1926,7 +1926,7 @@ buildvariants: - name: .concurrency .common - name: concurrency_replication_causal_consistency_gen - name: fle - - name: .jscore .common !.auth + - name: .jscore .common !.auth !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: replica_sets_gen @@ -2012,8 +2012,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - ubuntu2204-large - - name: .aggfuzzer .common !.multiversion - - name: aggregation + - name: .aggfuzzer .common !.multiversion !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: .misc_js - name: .concurrency .common @@ -2067,8 +2067,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - ubuntu2004-large - - name: .aggfuzzer .common !.multiversion - - name: aggregation + - name: .aggfuzzer .common !.multiversion !.feature_flag_guarded + - name: aggregation !.feature_flag_guarded - name: .auth !.audit !.multiversion - name: .misc_js - name: .concurrency .common @@ -2136,13 +2136,13 @@ buildvariants: - ubuntu2004-large - name: .crypt - name: .publish_crypt - - name: .aggfuzzer .common !.multiversion + - name: .aggfuzzer .common !.multiversion !.feature_flag_guarded - name: audit - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore - name: external_auth - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: jsCore_auth - name: .jstestfuzz .common - name: libunwind_tests @@ -2202,13 +2202,13 @@ buildvariants: - ubuntu2204-large - name: .crypt - name: .publish_crypt - - name: .aggfuzzer .common !.multiversion + - name: .aggfuzzer .common !.multiversion !.feature_flag_guarded - name: audit - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.aggregation !.replica_sets !.sharding !.jscore - name: external_auth - name: external_auth_aws - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: jsCore_auth - name: .jstestfuzz .common - name: libunwind_tests @@ -2262,7 +2262,7 @@ buildvariants: compile_variant: enterprise-ubuntu2004-arm64 tasks: - name: compile_test_and_package_serial_no_unittests_TG - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: aggregation_wildcard_fuzzer_gen - name: .auth !.audit !.multiversion !.jscore - name: causally_consistent_jscore_txns_passthrough @@ -2270,7 +2270,7 @@ buildvariants: - name: .concurrency .common - name: concurrency_replication_causal_consistency_gen - name: fle - - name: .jscore .common !.auth + - name: .jscore .common !.auth !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: replica_sets_gen @@ -2354,7 +2354,7 @@ buildvariants: compile_variant: enterprise-ubuntu2204-arm64 tasks: - name: compile_test_and_package_serial_no_unittests_TG - - name: aggregation + - name: aggregation !.feature_flag_guarded - name: aggregation_wildcard_fuzzer_gen - name: .auth !.audit !.multiversion !.jscore - name: causally_consistent_jscore_txns_passthrough @@ -2362,7 +2362,7 @@ buildvariants: - name: .concurrency .common - name: concurrency_replication_causal_consistency_gen - name: fle - - name: .jscore .common !.auth + - name: .jscore .common !.auth !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: replica_sets_gen @@ -2449,8 +2449,8 @@ buildvariants: - name: compile_test_and_package_serial_no_unittests_TG distros: - windows-vsCurrent-large - - name: .aggfuzzer - - name: .aggregation !.auth !.encrypt !.unwind + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.auth !.encrypt !.unwind !.feature_flag_guarded - name: auth_gen - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -2462,7 +2462,7 @@ buildvariants: - name: .concurrency .common - name: disk_wiredtiger - name: free_monitoring - - name: .jscore .common !.auth + - name: .jscore .common !.auth !.feature_flag_guarded - name: json_schema - name: .jstestfuzz !.initsync !.flow_control !.stepdowns - name: multiversion_gen @@ -2523,8 +2523,8 @@ buildvariants: - name: compile_test_and_package_serial_TG distros: - windows-vsCurrent-large - - name: .aggfuzzer - - name: .aggregation !.auth !.encrypt !.unwind + - name: .aggfuzzer !.feature_flag_guarded + - name: .aggregation !.auth !.encrypt !.unwind !.feature_flag_guarded - name: auth_gen - name: causally_consistent_jscore_txns_passthrough - name: .misc_js @@ -2539,7 +2539,7 @@ buildvariants: - windows-vsCurrent-large - name: .publish_crypt - name: disk_wiredtiger - - name: .jscore .common !.auth + - name: .jscore .common !.auth !.feature_flag_guarded - name: json_schema - name: .jstestfuzz !.initsync !.flow_control !.stepdowns - name: multiversion_gen @@ -2582,7 +2582,7 @@ buildvariants: tasks: - name: compile_test_and_package_serial_TG - name: compile_build_tools_next_TG - - name: .aggregation !.auth !.encrypt !.unwind + - name: .aggregation !.auth !.encrypt !.unwind !.feature_flag_guarded - name: auth_gen - name: .causally_consistent !.sharding - name: .change_streams !.secondary_reads @@ -2591,7 +2591,7 @@ buildvariants: - name: disk_wiredtiger - name: free_monitoring - name: initial_sync_fuzzer_gen - - name: .jscore .common !.auth + - name: .jscore .common !.auth !.feature_flag_guarded - name: jsCore_txns_large_txns_format - name: .jstestfuzz .causal - name: .jstestfuzz .interrupt @@ -2636,7 +2636,7 @@ buildvariants: tasks: - name: compile_test_and_package_serial_TG - name: compile_build_tools_next_TG - - name: .aggregation !.auth !.encrypt !.unwind + - name: .aggregation !.auth !.encrypt !.unwind !.feature_flag_guarded - name: auth_gen - name: .causally_consistent !.sharding - name: .change_streams !.secondary_reads @@ -2645,7 +2645,7 @@ buildvariants: - name: disk_wiredtiger - name: free_monitoring - name: initial_sync_fuzzer_gen - - name: .jscore .common !.auth + - name: .jscore .common !.auth !.feature_flag_guarded - name: jsCore_txns_large_txns_format - name: .jstestfuzz .causal - name: .jstestfuzz .interrupt @@ -2702,7 +2702,7 @@ buildvariants: - name: causally_consistent_jscore_txns_passthrough # TODO: SERVER-66945 Re-enable ESE on enterprise macos # - name: .encrypt !.replica_sets !.sharding !.aggregation !.jscore - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: mqlrun @@ -2746,7 +2746,7 @@ buildvariants: - name: auth_audit_gen - name: causally_consistent_jscore_txns_passthrough - name: .encrypt !.replica_sets !.sharding !.aggregation !.jscore - - name: .jscore .common !.decimal !.sharding + - name: .jscore .common !.decimal !.sharding !.feature_flag_guarded - name: .jstestfuzz .common - name: .logical_session_cache .one_sec - name: mqlrun diff --git a/etc/evergreen_yml_components/variants/sanitizer.yml b/etc/evergreen_yml_components/variants/sanitizer.yml index c79880181c9..0eede32032d 100644 --- a/etc/evergreen_yml_components/variants/sanitizer.yml +++ b/etc/evergreen_yml_components/variants/sanitizer.yml @@ -32,7 +32,7 @@ buildvariants: compile_variant: rhel80-asan tasks: - name: compile_test_and_package_serial_TG - - name: .aggfuzzer .common + - name: .aggfuzzer .common !.feature_flag_guarded - name: free_monitoring - name: .jstestfuzz !.initsync @@ -76,7 +76,7 @@ buildvariants: compile_variant: rhel80-debug-asan tasks: - name: compile_test_benchmark_and_package_serial_TG - - name: .aggregation + - name: .aggregation !.feature_flag_guarded - name: .auth - name: audit - name: .benchmarks @@ -158,7 +158,7 @@ buildvariants: compile_variant: rhel80-debug-ubsan tasks: - name: compile_test_benchmark_and_package_serial_TG - - name: .aggregation + - name: .aggregation !.feature_flag_guarded - name: .auth - name: audit - name: .benchmarks diff --git a/jstests/core/columnstore/column_scan_skip_row_store_projection.js b/jstests/core/columnstore/column_scan_skip_row_store_projection.js index 8124af3e446..29d1268d571 100644 --- a/jstests/core/columnstore/column_scan_skip_row_store_projection.js +++ b/jstests/core/columnstore/column_scan_skip_row_store_projection.js @@ -3,6 +3,9 @@ * above a columnscan stage. * * @tags: [ + * # Column store indexes are still under a feature flag and require full SBE. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * # explain is not supported in transactions * does_not_support_transactions, * requires_pipeline_optimization, @@ -10,8 +13,6 @@ * assumes_read_concern_unchanged, * # explain will be different in a sharded collection * assumes_unsharded_collection, - * # column store row store expression skipping is new in 6.2. - * requires_fcv_62, * # Columnstore tests set server parameters to disable columnstore query planning heuristics - * # 1) server parameters are stored in-memory only so are not transferred onto the recipient, * # 2) server parameters may not be set in stepdown passthroughs because it is a command that may diff --git a/jstests/core/columnstore/column_store_index_compression.js b/jstests/core/columnstore/column_store_index_compression.js index 52b74a23a10..2f77b53378f 100644 --- a/jstests/core/columnstore/column_store_index_compression.js +++ b/jstests/core/columnstore/column_store_index_compression.js @@ -6,8 +6,8 @@ * requires_collstats, * * # Column store indexes are still under a feature flag and require full SBE. - * uses_column_store_index, * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * * # In passthrough suites, this test makes direct connections to mongod instances that compose * # the passthrough fixture in order to perform additional validation. Tenant migration, diff --git a/jstests/core/columnstore/column_store_projection.js b/jstests/core/columnstore/column_store_projection.js index 1b50e4a1917..c7cb1a0b2a7 100644 --- a/jstests/core/columnstore/column_store_projection.js +++ b/jstests/core/columnstore/column_store_projection.js @@ -2,7 +2,9 @@ * Test column stores indexes that use a "columnstoreProjection" or "prefix.$**" notation to limit * indexed data to a subset of the document namespace. * @tags: [ - * requires_fcv_63, + * # Column store indexes are still under a feature flag and require full SBE. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * # Runs explain on an aggregate command which is only compatible with readConcern local. * assumes_read_concern_unchanged, * # Columnstore tests set server parameters to disable columnstore query planning heuristics - diff --git a/jstests/core/columnstore/columnstore_eligibility.js b/jstests/core/columnstore/columnstore_eligibility.js index 791d9929608..19ff6a3ea57 100644 --- a/jstests/core/columnstore/columnstore_eligibility.js +++ b/jstests/core/columnstore/columnstore_eligibility.js @@ -1,7 +1,9 @@ /** * Tests the eligibility of certain queries to use a columnstore index. * @tags: [ - * requires_fcv_63, + * # Column store indexes are still under a feature flag and require full SBE. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * # Refusing to run a test that issues an aggregation command with explain because it may return * # incomplete results if interrupted by a stepdown. * does_not_support_stepdowns, diff --git a/jstests/core/columnstore/columnstore_index.js b/jstests/core/columnstore/columnstore_index.js index 76fd02cfc7b..8d68700593c 100644 --- a/jstests/core/columnstore/columnstore_index.js +++ b/jstests/core/columnstore/columnstore_index.js @@ -1,7 +1,9 @@ /** * Tests some basic use cases and functionality of a columnstore index. * @tags: [ - * requires_fcv_63, + * # Column store indexes are still under a feature flag and require full SBE. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * * # Uses $indexStats which is not supported inside a transaction. * does_not_support_transactions, diff --git a/jstests/core/columnstore/columnstore_index_correctness.js b/jstests/core/columnstore/columnstore_index_correctness.js index 4f28432aa07..66398ea26f5 100644 --- a/jstests/core/columnstore/columnstore_index_correctness.js +++ b/jstests/core/columnstore/columnstore_index_correctness.js @@ -1,7 +1,9 @@ /** * Testing of just the query layer's integration for columnar index. * @tags: [ - * requires_fcv_63, + * # Column store indexes are still under a feature flag and require full SBE. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * # Runs explain on an aggregate command which is only compatible with readConcern local. * assumes_read_concern_unchanged, * # Columnstore tests set server parameters to disable columnstore query planning heuristics - diff --git a/jstests/core/columnstore/columnstore_index_per_path_filters.js b/jstests/core/columnstore/columnstore_index_per_path_filters.js index 0c81532ea79..c01556b797e 100644 --- a/jstests/core/columnstore/columnstore_index_per_path_filters.js +++ b/jstests/core/columnstore/columnstore_index_per_path_filters.js @@ -3,7 +3,9 @@ * might be pushed down into the column scan stage. * * @tags: [ - * requires_fcv_63, + * # Column store indexes are still under a feature flag and require full SBE. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * # Runs explain on an aggregate command which is only compatible with readConcern local. * assumes_read_concern_unchanged, * # Columnstore tests set server parameters to disable columnstore query planning heuristics - diff --git a/jstests/core/columnstore/columnstore_large_array_index_correctness.js b/jstests/core/columnstore/columnstore_large_array_index_correctness.js index 14b9d948a6f..5a0f06984d5 100644 --- a/jstests/core/columnstore/columnstore_large_array_index_correctness.js +++ b/jstests/core/columnstore/columnstore_large_array_index_correctness.js @@ -1,6 +1,9 @@ /** * Testing of just the query layer's integration for columnar indexes that encode large arrays. * @tags: [ + * # Column store indexes are still under a feature flag and require full SBE. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * # Columnstore tests set server parameters to disable columnstore query planning heuristics - * # 1) server parameters are stored in-memory only so are not transferred onto the recipient, * # 2) server parameters may not be set in stepdown passthroughs because it is a command that may @@ -8,8 +11,6 @@ * tenant_migration_incompatible, * does_not_support_stepdowns, * not_allowed_with_security_token, - - * requires_fcv_63, * ] */ (function() { diff --git a/jstests/core/columnstore/columnstore_validindex.js b/jstests/core/columnstore/columnstore_validindex.js index 2e3436089c0..7b86e97edda 100644 --- a/jstests/core/columnstore/columnstore_validindex.js +++ b/jstests/core/columnstore/columnstore_validindex.js @@ -1,7 +1,8 @@ /** * Tests parsing and validation of columnstore indexes. * @tags: [ - * requires_fcv_63, + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * # Uses index building in background. * requires_background_index, * # Columnstore tests set server parameters to disable columnstore query planning heuristics - diff --git a/jstests/disk/wt_validate_table_logging.js b/jstests/disk/wt_validate_table_logging.js index 571491a3be2..939280feeb8 100644 --- a/jstests/disk/wt_validate_table_logging.js +++ b/jstests/disk/wt_validate_table_logging.js @@ -8,15 +8,21 @@ (function() { 'use strict'; +load("jstests/libs/columnstore_util.js"); // For setUpServerForColumnStoreIndexTest. + let conn = MongoRunner.runMongod(); const dbpath = conn.dbpath; const dbName = jsTestName(); const collName = 'coll'; +const csiEnabled = setUpServerForColumnStoreIndexTest(conn.getDB(dbName)); + const create = function(conn) { assert.commandWorked(conn.getDB(dbName).createCollection(collName)); - assert.commandWorked(conn.getDB(dbName)[collName].createIndex({'$**': "columnstore"})); + if (csiEnabled) { + assert.commandWorked(conn.getDB(dbName)[collName].createIndex({'$**': "columnstore"})); + } }; const collUri = function(conn) { @@ -55,14 +61,16 @@ const primary = replTest.getPrimary(); // Run validate as a replica set, which will expect the tables to not be logged. let res = assert.commandWorked(primary.getDB(dbName).runCommand({validate: collName})); assert(!res.valid); -assert.eq(res.errors.length, 3); +assert.eq(res.errors.length, csiEnabled ? 3 : 2); checkLog.containsJson(primary, 6898101, {uri: collUri(primary), expected: false}); checkLog.containsJson( primary, 6898101, {index: '_id_', uri: indexUri(primary, '_id_'), expected: false}); -checkLog.containsJson( - primary, - 6898101, - {index: '$**_columnstore', uri: indexUri(primary, '$**_columnstore'), expected: false}); +if (csiEnabled) { + checkLog.containsJson( + primary, + 6898101, + {index: '$**_columnstore', uri: indexUri(primary, '$**_columnstore'), expected: false}); +} // Create the collection and indexes as a replica set, which will cause the tables to not be logged. assert.commandWorked(primary.getDB(dbName).runCommand({drop: collName})); @@ -74,13 +82,15 @@ conn = MongoRunner.runMongod(nodeOptions); // Run validate as a standalone, which will expect the tables to be logged. res = assert.commandWorked(conn.getDB(dbName).runCommand({validate: collName})); assert(!res.valid); -assert.eq(res.errors.length, 3); +assert.eq(res.errors.length, csiEnabled ? 3 : 2); checkLog.containsJson(conn, 6898101, {uri: collUri(conn), expected: true}); checkLog.containsJson(conn, 6898101, {index: '_id_', uri: indexUri(conn, '_id_'), expected: true}); -checkLog.containsJson( - conn, - 6898101, - {index: '$**_columnstore', uri: indexUri(conn, '$**_columnstore'), expected: true}); +if (csiEnabled) { + checkLog.containsJson( + conn, + 6898101, + {index: '$**_columnstore', uri: indexUri(conn, '$**_columnstore'), expected: true}); +} MongoRunner.stopMongod(conn, null, {skipValidation: true}); }()); diff --git a/jstests/libs/columnstore_util.js b/jstests/libs/columnstore_util.js index 3247e7fcb1f..39393bb297f 100644 --- a/jstests/libs/columnstore_util.js +++ b/jstests/libs/columnstore_util.js @@ -88,9 +88,13 @@ function setUpServerForColumnStoreIndexTest(db) { return false; } - // Parallel tests cannot set these server parameters during execution due to the side effect of - // clearing the SBE plan cache, so the parallel test suite overrides this for us up front. - if (!(TestData || {}).isParallelTest) { + // TODO SERVER-75026: Re-enable CSI in parallel tests. + // Note that we should not fully enable columnscans during the parallel tests due to the side + // effect of clearing the SBE plan cache. Fully enabling column scans should only be done + // in non-parallel environments. + if ((TestData || {}).isParallelTest) { + return false; + } else { fullyEnableColumnScan(nodes); } diff --git a/jstests/noPassthrough/column_scan_slow_logs.js b/jstests/noPassthrough/column_scan_slow_logs.js index 60354fcfb12..eeaa8fe3618 100644 --- a/jstests/noPassthrough/column_scan_slow_logs.js +++ b/jstests/noPassthrough/column_scan_slow_logs.js @@ -2,7 +2,8 @@ * Tests to ensure that COLUMN_SCAN plan and scanned columns appear in slow query log lines when * the columstore index is the winning plan. * @tags: [ - * requires_fcv_63, + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * ] */ (function() { diff --git a/jstests/noPassthrough/column_store_index_load.js b/jstests/noPassthrough/column_store_index_load.js index 1c45a5e7257..952c2f2f788 100644 --- a/jstests/noPassthrough/column_store_index_load.js +++ b/jstests/noPassthrough/column_store_index_load.js @@ -4,10 +4,11 @@ * Indexes are validated by comparing query results that use the index with results from a control * query that uses a collection scan. * @tags: [ - * requires_fcv_63, * # We could potentially need to resume an index build in the event of a stepdown, which is not * # yet implemented. * does_not_support_stepdowns, + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * ] */ (function() { diff --git a/jstests/noPassthrough/columnstore_index_persistence.js b/jstests/noPassthrough/columnstore_index_persistence.js index 0ee33f70999..afdb7a235b3 100644 --- a/jstests/noPassthrough/columnstore_index_persistence.js +++ b/jstests/noPassthrough/columnstore_index_persistence.js @@ -4,9 +4,11 @@ * as well as the createIndex response when a columnstore index is created. * * @tags: [ - * requires_fcv_63, * requires_persistence, * requires_replication, + * # column store indexes are still under a feature flag and require full sbe + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * ] */ diff --git a/jstests/noPassthrough/sharded_index_projection_verbatim_persistence.js b/jstests/noPassthrough/sharded_index_projection_verbatim_persistence.js index f68210a55b9..042916e6f80 100644 --- a/jstests/noPassthrough/sharded_index_projection_verbatim_persistence.js +++ b/jstests/noPassthrough/sharded_index_projection_verbatim_persistence.js @@ -12,6 +12,8 @@ (function() { "use strict"; +load("jstests/libs/columnstore_util.js"); // For setUpServerForColumnStoreIndexTest. + const st = new ShardingTest({shards: 3, rs: {nodes: 1}}); const dbName = "test"; const collName = "user"; @@ -48,24 +50,30 @@ for (const catEntry of shardCatalogs) { assert.eq(catEntry.wildcardProjection, kProjectionDoc, shardCatalogs); } -// Creates a columnstore index with a columnstoreProjection that normalization would change and -// verifies the persisted projection doc on each shard matches the original, unnormalized version. -const kColumnstoreIndexName = "cs_index"; -st.s.getCollection(ns).createIndex( - {"$**": "columnstore"}, {name: kColumnstoreIndexName, columnstoreProjection: kProjectionDoc}); -shardCatalogs = - st.s.getCollection(ns) - .aggregate([ - {$listCatalog: {}}, - {$unwind: "$md.indexes"}, - {$match: {"md.indexes.spec.name": kColumnstoreIndexName}}, - {$project: {shard: 1, columnstoreProjection: "$md.indexes.spec.columnstoreProjection"}} - ]) - .toArray(); -assert.eq(shardCatalogs.length, 3, shardCatalogs); -for (const catEntry of shardCatalogs) { - assert.eq(catEntry.columnstoreProjection, kProjectionDoc, shardCatalogs); +if (setUpServerForColumnStoreIndexTest(st.s.getDB(dbName))) { + // Creates a columnstore index with a columnstoreProjection that normalization would change + // and verifies the persisted projection doc on each shard matches the original, + // unnormalized version. + const kColumnstoreIndexName = "cs_index"; + st.s.getCollection(ns).createIndex( + {"$**": "columnstore"}, + {name: kColumnstoreIndexName, columnstoreProjection: kProjectionDoc}); + shardCatalogs = + st.s.getCollection(ns) + .aggregate([ + {$listCatalog: {}}, + {$unwind: "$md.indexes"}, + {$match: {"md.indexes.spec.name": kColumnstoreIndexName}}, + { + $project: + {shard: 1, columnstoreProjection: "$md.indexes.spec.columnstoreProjection"} + } + ]) + .toArray(); + assert.eq(shardCatalogs.length, 3, shardCatalogs); + for (const catEntry of shardCatalogs) { + assert.eq(catEntry.columnstoreProjection, kProjectionDoc, shardCatalogs); + } } - st.stop(); })(); diff --git a/jstests/noPassthroughWithMongod/column_scan_explain.js b/jstests/noPassthroughWithMongod/column_scan_explain.js index 52e4d789503..fe3e78190aa 100644 --- a/jstests/noPassthroughWithMongod/column_scan_explain.js +++ b/jstests/noPassthroughWithMongod/column_scan_explain.js @@ -1,7 +1,9 @@ /** * Tests the explain support for the COLUMN_SCAN stage. * @tags: [ - * requires_fcv_63, + * # Column store indexes are still under a feature flag and require full sbe. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * ] */ (function() { diff --git a/jstests/noPassthroughWithMongod/columnstore_planning_heuristics.js b/jstests/noPassthroughWithMongod/columnstore_planning_heuristics.js index 386ae3d57ad..d2f704d4729 100644 --- a/jstests/noPassthroughWithMongod/columnstore_planning_heuristics.js +++ b/jstests/noPassthroughWithMongod/columnstore_planning_heuristics.js @@ -2,8 +2,9 @@ * Testing of the query planner heuristics for determining whether a collection is eligible for * column scan. * @tags: [ - * # column store indexes are still under a feature flag - * featureFlagColumnstoreIndexes + * # Column store indexes are still under a feature flag and require full sbe. + * featureFlagColumnstoreIndexes, + * featureFlagSbeFull, * ] */ (function() { diff --git a/src/mongo/db/index/columns_access_method_test.cpp b/src/mongo/db/index/columns_access_method_test.cpp index bf5e10de1c7..50d201e6100 100644 --- a/src/mongo/db/index/columns_access_method_test.cpp +++ b/src/mongo/db/index/columns_access_method_test.cpp @@ -91,6 +91,8 @@ protected: } void setUp() override { + flagController.emplace("featureFlagColumnstoreIndexes", true); + CatalogTestFixture::setUp(); ASSERT_OK(storageInterface()->createCollection(operationContext(), _nss, {})); _coll.emplace(operationContext(), _nss, MODE_X); @@ -171,6 +173,7 @@ private: bool _cursorNeedsSeek; boost::optional<FullCellView> _cell; SplitCellView _splitCellView; + boost::optional<RAIIServerParameterControllerForTest> flagController; }; TEST_F(ColumnsAccessMethodTest, Dollars) { diff --git a/src/mongo/db/query/query_feature_flags.idl b/src/mongo/db/query/query_feature_flags.idl index 579b2dd7977..dbb952a43d4 100644 --- a/src/mongo/db/query/query_feature_flags.idl +++ b/src/mongo/db/query/query_feature_flags.idl @@ -68,8 +68,7 @@ feature_flags: featureFlagColumnstoreIndexes: description: "Enables creation of a new columnstore index type" cpp_varname: gFeatureFlagColumnstoreIndexes - default: true - version: 6.3 + default: false featureFlagServerlessChangeStreams: description: "Feature flag to enable reading change events from the change collection rather than the oplog" |