SERVER-119298: disable streams everywhere unless flag is present (#48696)
GitOrigin-RevId: a2ecd7c871bddbeb762bffbd6b4009f86d397aab
This commit is contained in:
parent
0adf06d394
commit
67d49e46ed
1
.bazelrc
1
.bazelrc
@ -153,7 +153,6 @@ common --flag_alias=build_otel=//bazel/config:build_otel
|
||||
common --flag_alias=shared_archive=//bazel/config:shared_archive
|
||||
common --flag_alias=skip_archive=//bazel/config:skip_archive
|
||||
common --flag_alias=streams_release_build=//bazel/config:streams_release_build
|
||||
common --flag_alias=disable_streams=//bazel/config:disable_streams
|
||||
common --flag_alias=release=//bazel/config:release
|
||||
common --flag_alias=build_enterprise=//bazel/config:build_enterprise
|
||||
common --flag_alias=visibility_support=//bazel/config:visibility_support
|
||||
|
||||
@ -21,7 +21,6 @@ load(
|
||||
"dbg_level",
|
||||
"debug_symbols",
|
||||
"dev_stacktrace",
|
||||
"disable_streams",
|
||||
"disable_warnings_as_errors",
|
||||
"dtlto",
|
||||
"dwarf_version",
|
||||
@ -2003,22 +2002,6 @@ selects.config_setting_group(
|
||||
],
|
||||
)
|
||||
|
||||
# --------------------------------------
|
||||
# streams non release options
|
||||
# --------------------------------------
|
||||
|
||||
disable_streams(
|
||||
name = "disable_streams",
|
||||
build_setting_default = False,
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "streams_enabled",
|
||||
flag_values = {
|
||||
"//bazel/config:disable_streams": "False",
|
||||
},
|
||||
)
|
||||
|
||||
# --------------------------------------
|
||||
# stream_release_build
|
||||
# --------------------------------------
|
||||
@ -2050,8 +2033,8 @@ selects.config_setting_group(
|
||||
],
|
||||
)
|
||||
|
||||
# The streams_release_build flag is effectively a guard to assure streams are not
|
||||
# built on release builds. For non-release builds, it's not required.
|
||||
# The streams_release_build flag is required to build streams for both release
|
||||
# and non-release builds. This ensures streams are only built when explicitly enabled.
|
||||
selects.config_setting_group(
|
||||
name = "_streams_for_release_build",
|
||||
match_all = [
|
||||
@ -2066,9 +2049,9 @@ selects.config_setting_group(
|
||||
name = "_streams_for_non_release_build",
|
||||
match_all = [
|
||||
":release_disabled",
|
||||
":streams_release_build_enabled",
|
||||
":platform_for_streaming_build",
|
||||
":ssl_enabled_linux",
|
||||
":streams_enabled",
|
||||
],
|
||||
)
|
||||
|
||||
@ -2764,7 +2747,7 @@ selects.config_setting_group(
|
||||
)
|
||||
|
||||
selects.config_setting_group(
|
||||
name = "enterprise_feature_streams_and_streams_build_enabled",
|
||||
name = "enterprise_feature_queryable_and_streams_build_enabled",
|
||||
match_all = [
|
||||
":enterprise_feature_queryable_enabled",
|
||||
":streams_release_build_required_setting",
|
||||
|
||||
@ -433,19 +433,6 @@ streams_release_build = rule(
|
||||
build_setting = config.bool(flag = True),
|
||||
)
|
||||
|
||||
# =========
|
||||
# disable-streams
|
||||
# =========
|
||||
disable_streams_provider = provider(
|
||||
doc = """If set, will exclude the enterprise streams module in a non-release build.""",
|
||||
fields = ["enabled"],
|
||||
)
|
||||
|
||||
disable_streams = rule(
|
||||
implementation = lambda ctx: disable_streams_provider(enabled = ctx.build_setting_value),
|
||||
build_setting = config.bool(flag = True),
|
||||
)
|
||||
|
||||
# =========
|
||||
# visibility-support
|
||||
# =========
|
||||
|
||||
@ -31,3 +31,7 @@
|
||||
- featureFlagTimeseriesUpdatesSupport
|
||||
# TODO SERVER-112823 Enable featureFlagGetExecutorDeferredEngineChoice feature flag when fully compatible.
|
||||
- featureFlagGetExecutorDeferredEngineChoice
|
||||
# Streams feature flag is excluded by default because streams requires a separate build flag
|
||||
# (--streams_release_build=True) to compile the streams code into the binary. Variants that
|
||||
# support streams should explicitly enable this flag.
|
||||
- featureFlagStreams
|
||||
|
||||
@ -167,10 +167,25 @@ rules:
|
||||
forbidden_task_tag: "experimental"
|
||||
ignored_tasks: [
|
||||
# TODO: remove this exception when SERVER-94572 is resolved
|
||||
"benchmarks_streams",
|
||||
"streams_gen",
|
||||
"streams_kafka_gen",
|
||||
"streams_kafka_gwproxy",
|
||||
"streams_kafka_benchmark",
|
||||
"streams_https",
|
||||
"streams_lambda",
|
||||
"streams_s3",
|
||||
"streams_kinesis",
|
||||
"streams_aspio",
|
||||
"streams_aspio_iceberg_0",
|
||||
"streams_aspio_iceberg_1",
|
||||
"streams_aspio_iceberg_2",
|
||||
"streams_aspio_iceberg_3",
|
||||
"streams_aspio_iceberg_large",
|
||||
"streams_aspio_iceberg_5",
|
||||
"streams_aspio_utilities",
|
||||
"streams_externaljs",
|
||||
"streams_aspio_pubsub",
|
||||
# TODO: remove these exceptions when SERVER-94573 is resolved
|
||||
"selinux_rhel9_enterprise",
|
||||
"selinux_rhel8_org",
|
||||
|
||||
@ -244,7 +244,8 @@ tasks:
|
||||
|
||||
- <<: *gen_task_template
|
||||
name: streams_gen
|
||||
tags: ["assigned_to_jira_team_streams", "default", "streams_release_test"]
|
||||
tags:
|
||||
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
|
||||
commands:
|
||||
- func: "generate resmoke tasks"
|
||||
vars:
|
||||
@ -283,7 +284,8 @@ tasks:
|
||||
|
||||
- <<: *task_template
|
||||
name: streams_https
|
||||
tags: ["assigned_to_jira_team_streams", "default", "streams_release_test"]
|
||||
tags:
|
||||
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
|
||||
commands:
|
||||
- func: "do setup"
|
||||
- func: "run tests"
|
||||
@ -319,7 +321,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -334,7 +336,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -349,7 +351,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -364,7 +366,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -379,7 +381,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -394,7 +396,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -409,7 +411,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -424,7 +426,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -439,7 +441,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
@ -455,7 +457,7 @@ tasks:
|
||||
tags:
|
||||
[
|
||||
"assigned_to_jira_team_streams",
|
||||
"default",
|
||||
"experimental",
|
||||
"streams_release_test",
|
||||
"requires_extra_system_deps",
|
||||
]
|
||||
|
||||
@ -4,6 +4,12 @@
|
||||
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
|
||||
# and LTS release (v7.0, v6.0 etc.) branch projects
|
||||
|
||||
variables:
|
||||
- &sys_perf_compile_expansions
|
||||
platform: linux
|
||||
project_dir: dsi
|
||||
has_packages: false
|
||||
|
||||
buildvariants:
|
||||
- name: enterprise-amazon2023-streams
|
||||
display_name: "Amazon Linux 2023 enterprise streams"
|
||||
@ -23,12 +29,14 @@ buildvariants:
|
||||
multiversion_edition: enterprise-streams
|
||||
compile_variant: enterprise-amazon2023-streams
|
||||
large_distro_name: amazon2023.3-c5-24xlarge
|
||||
packager_distro: amazon2023
|
||||
tasks:
|
||||
- name: compile_and_archive_dist_test_TG
|
||||
distros:
|
||||
- amazon2023.3-c5-24xlarge
|
||||
- name: aggregation
|
||||
- name: .streams_release_test
|
||||
- name: streams_build_only_gen
|
||||
- name: generate_buildid_to_debug_symbols_mapping
|
||||
|
||||
- name: enterprise-amazon2023-streams-arm64
|
||||
@ -51,12 +59,14 @@ buildvariants:
|
||||
multiversion_edition: enterprise-streams
|
||||
compile_variant: enterprise-amazon2023-streams-arm64
|
||||
large_distro_name: amazon2023.3-arm64-xxxlarge
|
||||
packager_distro: amazon2023
|
||||
tasks:
|
||||
- name: compile_and_archive_dist_test_TG
|
||||
distros:
|
||||
- amazon2023.3-arm64-xxxlarge
|
||||
- name: aggregation
|
||||
- name: .streams_release_test
|
||||
- name: streams_build_only_gen
|
||||
- name: generate_buildid_to_debug_symbols_mapping
|
||||
|
||||
# TODO(SERVER-120489): There are issues with these variants that need to be investigated/fixed
|
||||
@ -165,8 +175,7 @@ buildvariants:
|
||||
- name: run_unit_tests_TG
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
- name: streams_gen
|
||||
- name: streams_https
|
||||
- name: .streams_release_test !.requires_extra_system_deps !streams_kafka_gen !streams_kafka_benchmark !streams_kafka_gwproxy !streams_s3
|
||||
- name: generate_buildid_to_debug_symbols_mapping
|
||||
|
||||
- name: enterprise-rhel8-streams-aubsan
|
||||
@ -204,6 +213,43 @@ buildvariants:
|
||||
- name: run_unit_tests_TG
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
- name: streams_gen
|
||||
- name: streams_https
|
||||
- name: .streams_release_test !.requires_extra_system_deps !streams_kafka_gen !streams_kafka_benchmark !streams_kafka_gwproxy
|
||||
- name: generate_buildid_to_debug_symbols_mapping
|
||||
|
||||
# DSI perf harness variant
|
||||
- name: amazon2023-x86-streams-compile
|
||||
display_name: "* Compile Streams Amazon Linux 2023 x86 for sys-perf"
|
||||
tags: ["suggested"]
|
||||
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
|
||||
expansions:
|
||||
<<: *sys_perf_compile_expansions
|
||||
compile_variant: amazon2023-x86-streams-compile
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2023
|
||||
--release=True
|
||||
--streams_release_build=True
|
||||
skip_debug_link: true
|
||||
run_on:
|
||||
- amazon2023.3-xlarge
|
||||
tasks:
|
||||
- name: compile_and_package_serial_no_unittests_TG
|
||||
- name: package_supplementary_data
|
||||
|
||||
# DSI perf harness variant
|
||||
- name: amazon2023-arm64-streams-compile
|
||||
display_name: "* Compile Streams Amazon Linux 2023 arm64 for sys-perf"
|
||||
tags: ["suggested"]
|
||||
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
|
||||
expansions:
|
||||
<<: *sys_perf_compile_expansions
|
||||
compile_variant: amazon2023-arm64-streams-compile
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2023
|
||||
--release=True
|
||||
--streams_release_build=True
|
||||
skip_debug_link: true
|
||||
run_on:
|
||||
- amazon2023.3-arm64-xlarge
|
||||
tasks:
|
||||
- name: compile_and_package_serial_no_unittests_TG
|
||||
- name: package_supplementary_data
|
||||
|
||||
@ -48,24 +48,7 @@ buildvariants:
|
||||
distros:
|
||||
- amazon2023.3-c5-24xlarge
|
||||
- name: aggregation
|
||||
- name: streams_gen
|
||||
- name: streams_kafka_gen
|
||||
- name: streams_kafka_gwproxy
|
||||
- name: streams_kafka_benchmark
|
||||
- name: streams_https
|
||||
- name: streams_lambda
|
||||
- name: streams_s3
|
||||
- name: streams_kinesis
|
||||
- name: streams_aspio
|
||||
- name: streams_aspio_iceberg_0
|
||||
- name: streams_aspio_iceberg_1
|
||||
- name: streams_aspio_iceberg_2
|
||||
- name: streams_aspio_iceberg_3
|
||||
- name: streams_aspio_iceberg_large
|
||||
- name: streams_aspio_iceberg_5
|
||||
- name: streams_aspio_utilities
|
||||
- name: streams_externaljs
|
||||
- name: streams_aspio_pubsub
|
||||
- name: .streams_release_test
|
||||
- name: streams_build_and_push_gen
|
||||
- name: streams_build_and_push_break_glass_gen
|
||||
activate: false # Only run on manual patches
|
||||
@ -116,25 +99,7 @@ buildvariants:
|
||||
- name: compile_and_archive_dist_test_TG
|
||||
distros:
|
||||
- amazon2023.3-arm64-xxxlarge
|
||||
- name: streams_gen
|
||||
- name: streams_kafka_gen
|
||||
- name: streams_kafka_gwproxy
|
||||
- name: streams_kafka_benchmark
|
||||
- name: streams_kinesis
|
||||
- name: streams_https
|
||||
- name: streams_lambda
|
||||
- name: streams_s3
|
||||
- name: aggregation
|
||||
- name: streams_aspio
|
||||
- name: streams_aspio_iceberg_0
|
||||
- name: streams_aspio_iceberg_1
|
||||
- name: streams_aspio_iceberg_2
|
||||
- name: streams_aspio_iceberg_3
|
||||
- name: streams_aspio_iceberg_large
|
||||
- name: streams_aspio_iceberg_5
|
||||
- name: streams_aspio_utilities
|
||||
- name: streams_externaljs
|
||||
- name: streams_aspio_pubsub
|
||||
- name: .streams_release_test
|
||||
- name: streams_build_and_push_gen
|
||||
- name: streams_build_and_push_break_glass_gen
|
||||
activate: false # Only run on manual patches
|
||||
|
||||
@ -117,6 +117,7 @@ buildvariants:
|
||||
--remote_execution_priority=3
|
||||
--jobs=1600
|
||||
--build_atlas=True
|
||||
--streams_release_build=True
|
||||
tasks:
|
||||
- name: run_unit_tests_TG
|
||||
- name: compile_test_parallel_core_stream_and_pretty_printer_tests_TG
|
||||
@ -579,39 +580,3 @@ buildvariants:
|
||||
- amazon2023.3-arm64-xlarge
|
||||
tasks:
|
||||
- name: .crypt
|
||||
|
||||
- name: amazon2023-x86-streams-compile
|
||||
display_name: "* Compile Streams Amazon Linux 2023 x86 for sys-perf"
|
||||
tags: ["suggested"]
|
||||
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
|
||||
expansions:
|
||||
<<: *sys_perf_compile_expansions
|
||||
compile_variant: amazon2023-x86-streams-compile
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2023
|
||||
--release=True
|
||||
--streams_release_build=True
|
||||
skip_debug_link: true
|
||||
run_on:
|
||||
- amazon2023.3-xlarge
|
||||
tasks:
|
||||
- name: compile_and_package_serial_no_unittests_TG
|
||||
- name: package_supplementary_data
|
||||
|
||||
- name: amazon2023-arm64-streams-compile
|
||||
display_name: "* Compile Streams Amazon Linux 2023 arm64 for sys-perf"
|
||||
tags: ["suggested"]
|
||||
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
|
||||
expansions:
|
||||
<<: *sys_perf_compile_expansions
|
||||
compile_variant: amazon2023-arm64-streams-compile
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2023
|
||||
--release=True
|
||||
--streams_release_build=True
|
||||
skip_debug_link: true
|
||||
run_on:
|
||||
- amazon2023.3-arm64-xlarge
|
||||
tasks:
|
||||
- name: compile_and_package_serial_no_unittests_TG
|
||||
- name: package_supplementary_data
|
||||
|
||||
@ -84,7 +84,6 @@ buildvariants:
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2023
|
||||
--config=local
|
||||
--disable_streams=True
|
||||
compile_variant: *amazon-linux2023-arm64-local-compile
|
||||
tasks:
|
||||
- name: run_unit_tests_TG
|
||||
@ -164,6 +163,7 @@ buildvariants:
|
||||
distros:
|
||||
- amazon2023-arm64-atlas-latest-m8g-2xlarge
|
||||
- name: .fuzzer_deterministic
|
||||
- name: .streams_release_test !.requires_extra_system_deps !streams_kafka_gen !streams_kafka_benchmark !streams_kafka_gwproxy !streams_kinesis
|
||||
|
||||
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
|
||||
name: enterprise-amazon-linux2023-arm64-all-feature-flags-extra-system-deps
|
||||
@ -176,8 +176,10 @@ buildvariants:
|
||||
tss_enabled: false
|
||||
large_distro_name: amazon2023-arm64-latest-m8g-4xlarge
|
||||
core_analyzer_distro_name: amazon2023-arm64-latest-xlarge
|
||||
# featureFlagStreams is added to support streams commands and aggregations in auth test suites
|
||||
test_flags: >-
|
||||
--runAllFeatureFlagTests
|
||||
--additionalFeatureFlags=featureFlagStreams
|
||||
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source
|
||||
tasks:
|
||||
- name: .requires_extra_system_deps .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
|
||||
@ -194,8 +196,9 @@ buildvariants:
|
||||
- amazon2023-arm64-latest-m8g-4xlarge
|
||||
- name: query_golden_disagg_gen
|
||||
- name: query_golden_sharding_disagg_gen
|
||||
- name: streams_build_only_gen
|
||||
- name: no_passthrough_disagg_override_gen
|
||||
- name: streams_build_only_gen
|
||||
- name: .streams_release_test .requires_extra_system_deps
|
||||
|
||||
- name: amazon-linux2023-arm64-tests-lto-pgo-bolt
|
||||
display_name: "Amazon Linux 2023 arm64 Atlas Enterprise (all feature flags) LTO/PGO/BOLT"
|
||||
|
||||
@ -27,7 +27,6 @@ buildvariants:
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2
|
||||
--build_enterprise=False
|
||||
--disable_streams=True
|
||||
compile_all_but_not_unittests_flags: >-
|
||||
--linkopt=-s
|
||||
multiversion_platform: amazon2
|
||||
@ -82,7 +81,6 @@ buildvariants:
|
||||
mciuploads_binary_visibility_push: public
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2
|
||||
--disable_streams=True
|
||||
compile_all_but_not_unittests_flags: >-
|
||||
--linkopt=-s
|
||||
multiversion_platform: amazon2
|
||||
@ -136,7 +134,6 @@ buildvariants:
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2
|
||||
--build_enterprise=False
|
||||
--disable_streams=True
|
||||
compile_all_but_not_unittests_flags: >-
|
||||
--linkopt=-s
|
||||
multiversion_platform: amazon2
|
||||
@ -191,7 +188,6 @@ buildvariants:
|
||||
mciuploads_binary_visibility_push: public
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=amazon2
|
||||
--disable_streams=True
|
||||
compile_all_but_not_unittests_flags: >-
|
||||
--linkopt=-s
|
||||
multiversion_platform: amazon2
|
||||
|
||||
@ -19,6 +19,7 @@ buildvariants:
|
||||
--linkstatic=False
|
||||
--gcov=True
|
||||
--collect_code_coverage
|
||||
--streams_release_build=True
|
||||
${coverage_bazel_tags}
|
||||
large_distro_name: amazon2023.3-arm64-m8g-4xlarge
|
||||
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
|
||||
@ -53,7 +54,7 @@ buildvariants:
|
||||
- name: change_streams_mongos_sessions_passthrough
|
||||
- name: fle2_sharding
|
||||
# All streams jstest tasks excluding some that are not compatible at the moment.
|
||||
- name: .streams_release_test !streams_aspio_iceberg_large !streams_externaljs
|
||||
- name: .streams_release_test !.requires_extra_system_deps
|
||||
|
||||
# Variant to support Code Coverage on amd64/x86_64
|
||||
- name: &rhel-93-64-bit-coverage rhel-93-64-bit-coverage
|
||||
|
||||
@ -317,13 +317,7 @@ buildvariants:
|
||||
name: enterprise-rhel-8-64-bit-dynamic-all-feature-flags-experimental
|
||||
display_name: "* Enterprise RHEL 8 (all feature flags) Experimental"
|
||||
tags: ["suggested"]
|
||||
tasks:
|
||||
&experimental-task-list # TODO(SERVER-90936): Remove streams_kafka* and streams_lambda tests when they work with the "default" tag.
|
||||
- name: streams_kafka_gen
|
||||
- name: streams_kafka_gwproxy
|
||||
- name: streams_lambda
|
||||
- name: streams_s3
|
||||
- name: streams_kinesis
|
||||
tasks: &experimental-task-list
|
||||
- name: product_limits
|
||||
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
|
||||
|
||||
|
||||
@ -250,6 +250,7 @@ variables:
|
||||
--opt=on
|
||||
--fission=no
|
||||
--jobs=800
|
||||
--streams_release_build=True
|
||||
# Avoid starting too many mongod's under TSAN build.
|
||||
resmoke_jobs_factor: 0.3
|
||||
|
||||
@ -348,6 +349,7 @@ buildvariants:
|
||||
--opt=on
|
||||
--fission=no
|
||||
--jobs=800
|
||||
--streams_release_build=True
|
||||
build_mongot: true
|
||||
download_mongot_release: true
|
||||
evergreen_remote_exec: on
|
||||
|
||||
@ -158,6 +158,7 @@ variables:
|
||||
--opt=on
|
||||
--fission=no
|
||||
--jobs=800
|
||||
--streams_release_build=True
|
||||
# Avoid starting too many mongod's under TSAN build.
|
||||
resmoke_jobs_factor: 0.3
|
||||
large_distro_name: &enterprise-rhel8-debug-tsan-large-distro-name rhel8.8-xlarge
|
||||
@ -462,6 +463,7 @@ buildvariants:
|
||||
- <<: *rhel8_debug_aubsan_compile_variant_dependency
|
||||
name: rhel8-debug-aubsan-all-feature-flags
|
||||
display_name: "* Shared Library {A,UB}SAN Enterprise RHEL 8 DEBUG (all feature flags)"
|
||||
modules: ["asp-js-engine"]
|
||||
tags:
|
||||
[
|
||||
"suggested",
|
||||
@ -480,11 +482,12 @@ buildvariants:
|
||||
# operations from making progress on slow sanitizer variants.
|
||||
test_flags: >-
|
||||
--runAllFeatureFlagTests
|
||||
--additionalFeatureFlags=featureFlagStreams
|
||||
--excludeWithAnyTags=incompatible_aubsan
|
||||
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
|
||||
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
|
||||
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
|
||||
tasks: &rhel8-debug-aubsan-task-list
|
||||
tasks:
|
||||
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
@ -501,6 +504,9 @@ buildvariants:
|
||||
- name: .non_deterministic .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
- name: .streams_release_test !.requires_extra_system_deps !streams_kafka_gen !streams_kafka_benchmark !streams_kafka_gwproxy
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
|
||||
- <<: *rhel8_debug_aubsan_compile_variant_dependency
|
||||
name: rhel8-debug-aubsan-experimental-all-feature-flags
|
||||
@ -544,7 +550,23 @@ buildvariants:
|
||||
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
|
||||
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
|
||||
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
|
||||
tasks: *rhel8-debug-aubsan-task-list
|
||||
tasks:
|
||||
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
- name: .non_deterministic !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .non_deterministic .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- rhel8.8-xlarge
|
||||
|
||||
- name: &rhel8-debug-aubsan-benchmarks rhel8-debug-aubsan-benchmarks
|
||||
display_name: "* {A,UB}SAN Enterprise RHEL 8 DEBUG (Benchmarks)"
|
||||
@ -559,6 +581,7 @@ buildvariants:
|
||||
--config=dbg_aubsan
|
||||
--opt=on
|
||||
--fission=no
|
||||
--streams_release_build=True
|
||||
test_flags: >-
|
||||
--benchmarkRepetitions=1
|
||||
--excludeWithAnyTags=incompatible_aubsan
|
||||
@ -574,6 +597,7 @@ buildvariants:
|
||||
- <<: *enterprise-rhel8-debug-tsan-compile-dependency
|
||||
name: enterprise-rhel8-debug-tsan-all-feature-flags
|
||||
display_name: "* TSAN Enterprise RHEL 8 DEBUG (all feature flags)"
|
||||
modules: ["asp-js-engine"]
|
||||
tags:
|
||||
[
|
||||
"suggested",
|
||||
@ -594,7 +618,8 @@ buildvariants:
|
||||
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
|
||||
--excludeWithAnyTags=tsan_incompatible
|
||||
--runAllFeatureFlagTests
|
||||
tasks: &enterprise-rhel8-debug-tsan-task-list
|
||||
--additionalFeatureFlags=featureFlagStreams
|
||||
tasks:
|
||||
- name: .development_critical !.requires_large_host !.requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
@ -623,6 +648,9 @@ buildvariants:
|
||||
- name: .non_deterministic .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .streams_release_test !.requires_extra_system_deps !streams_kafka_gen !streams_kafka_benchmark !streams_kafka_gwproxy !streams_s3
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
|
||||
- <<: *enterprise-rhel8-debug-tsan-compile-dependency
|
||||
name: enterprise-rhel8-debug-tsan-all-non-rollback-feature-flags
|
||||
@ -642,7 +670,35 @@ buildvariants:
|
||||
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
|
||||
--excludeWithAnyTags=tsan_incompatible
|
||||
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
|
||||
tasks: *enterprise-rhel8-debug-tsan-task-list
|
||||
tasks:
|
||||
- name: .development_critical !.requires_large_host !.requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .development_critical .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .release_critical !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .release_critical .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .default !.requires_large_host !.requires_large_host_tsan !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .default .requires_large_host_tsan !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .non_deterministic !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
- name: .non_deterministic .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
- name: .non_deterministic .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
|
||||
distros:
|
||||
- *enterprise-rhel8-debug-tsan-large-distro-name
|
||||
|
||||
- name: &linux-debug-aubsan-compile-grpc linux-debug-aubsan-compile-grpc
|
||||
display_name: "~ Linux x86 Shared Library {A,UB}SAN Enterprise Compile with Ingress GRPC"
|
||||
|
||||
@ -310,7 +310,6 @@ buildvariants:
|
||||
bazel_compile_flags: >-
|
||||
--define=MONGO_DISTMOD=ubuntu2204
|
||||
--allocator=tcmalloc-gperf
|
||||
--disable_streams=True
|
||||
compile_all_but_not_unittests_flags: >-
|
||||
--linkopt=-s
|
||||
large_distro_name: ubuntu2204-large
|
||||
|
||||
@ -91,13 +91,13 @@ one argument, the connection object.
|
||||
|
||||
*/
|
||||
|
||||
import {testOnlyCommands} from "jstests/auth/test_only_commands_list.js";
|
||||
import {getUriForColl} from "jstests/disk/libs/wt_file_helper.js";
|
||||
import {FeatureFlagUtil} from "jstests/libs/feature_flag_util.js";
|
||||
import {
|
||||
storageEngineIsWiredTigerOrInMemory,
|
||||
storageEngineIsWiredTiger,
|
||||
storageEngineIsWiredTigerOrInMemory,
|
||||
} from "jstests/libs/storage_engine/storage_engine_utils.js";
|
||||
import {getUriForColl} from "jstests/disk/libs/wt_file_helper.js";
|
||||
import {testOnlyCommands} from "jstests/auth/test_only_commands_list.js";
|
||||
|
||||
// constants
|
||||
|
||||
@ -236,8 +236,11 @@ const skippedAuthTestingAggStages = [
|
||||
"$merge", // Already covered in 'aggregate_merge_insert_documents' and
|
||||
// 'aggregate_merge_replace_documents'.
|
||||
"$set", // Alias for "$addFields" and already covered.
|
||||
];
|
||||
|
||||
// The following stages are required to be tested in stream processors.
|
||||
// The following stages are required to be tested in stream processors.
|
||||
// Only included in skip list when streams feature is available.
|
||||
const streamsSkippedAuthTestingAggStages = [
|
||||
"$hoppingWindow",
|
||||
"$tumblingWindow",
|
||||
"$sessionWindow",
|
||||
@ -247,7 +250,7 @@ const skippedAuthTestingAggStages = [
|
||||
|
||||
// The following commands are skipped in 'authCommandsLib' because they are unable to be
|
||||
// tested here and already have auth tests elsewhere.
|
||||
//TODO SERVER-112286: Audit commands skipped.
|
||||
// TODO SERVER-112286: Audit commands skipped.
|
||||
const skippedAuthTestingCommands = [
|
||||
"analyzeShardKey",
|
||||
"authenticate",
|
||||
@ -9660,12 +9663,22 @@ function checkAggStageCoverage(conn) {
|
||||
.aggregate([{$listMqlEntities: {entityType: "aggregationStages"}}])
|
||||
.toArray()
|
||||
.map((obj) => obj.name);
|
||||
|
||||
// Only skip streams stages when the feature flag is disabled. When enabled, they should
|
||||
// be tested. When not compiled in, they won't appear anyway.
|
||||
let skipList = skippedAuthTestingAggStages;
|
||||
if (
|
||||
streamsSkippedAuthTestingAggStages.some((stage) => aggStages.includes(stage)) &&
|
||||
!FeatureFlagUtil.isPresentAndEnabled(adminDb, "Streams")
|
||||
) {
|
||||
skipList = skipList.concat(streamsSkippedAuthTestingAggStages);
|
||||
}
|
||||
adminDb.logout();
|
||||
|
||||
const unvisited = {};
|
||||
for (let aggStage of aggStages) {
|
||||
// Tracks 'aggStage' unless listed in the exception list 'skippedAuthTestingAggStages'.
|
||||
if (!skippedAuthTestingAggStages.includes(aggStage)) {
|
||||
// Tracks 'aggStage' unless listed in the exception list 'skipList'.
|
||||
if (!skipList.includes(aggStage)) {
|
||||
unvisited[aggStage] = 1;
|
||||
}
|
||||
}
|
||||
@ -9702,6 +9715,9 @@ function checkCommandCoverage(conn) {
|
||||
const res = assert.commandWorked(adminDb.runCommand({listCommands: 1}));
|
||||
const allCommands = Object.keys(res.commands);
|
||||
|
||||
// Don't skip streams commands. When the feature flag is disabled, streams commands
|
||||
// are hidden from listCommands (they have requiresFeatureFlag). When enabled, they
|
||||
// appear and should be tested.
|
||||
adminDb.logout();
|
||||
|
||||
const unvisited = {};
|
||||
@ -9724,9 +9740,8 @@ function checkCommandCoverage(conn) {
|
||||
assert.eq(
|
||||
unvisitedList.length,
|
||||
0,
|
||||
`'authCommandsLib.tests' misses auth testing for ${
|
||||
unvisitedList.length
|
||||
} commands: ${unvisitedList.join(", ")}. ` +
|
||||
`Add tests for these commands or add them to 'skippedAuthTestingCommands' with justification.`,
|
||||
`'authCommandsLib.tests' misses auth testing for ${unvisitedList.length} commands: ${unvisitedList.join(
|
||||
", ",
|
||||
)}. ` + `Add tests for these commands or add them to 'skippedAuthTestingCommands' with justification.`,
|
||||
);
|
||||
}
|
||||
|
||||
@ -2624,7 +2624,7 @@ mongo_cc_library(
|
||||
],
|
||||
"//conditions:default": [],
|
||||
}) + select({
|
||||
"//bazel/config:enterprise_feature_streams_and_streams_build_enabled": [
|
||||
"//bazel/config:enterprise_feature_queryable_and_streams_build_enabled": [
|
||||
"//src/mongo/db/modules/enterprise/src/streams/commands:streams_commands",
|
||||
],
|
||||
"//conditions:default": [],
|
||||
|
||||
Loading…
Reference in New Issue
Block a user