SERVER-101589 Enable CreateViewlessTimeseriesCollections featureFlag in allFeatureFlags variants (#42360)

Co-authored-by: Joan Bruguera Micó (MongoDB) <joan.bruguera-mico@mongodb.com>
GitOrigin-RevId: 5ae5f7423024ccb70a12d4d28d31055d378696b1
This commit is contained in:
Tommaso Tocci 2025-10-09 19:11:12 +02:00 committed by MongoDB Bot
parent d82942f17e
commit fef8ec2e64
16 changed files with 71 additions and 8 deletions

View File

@ -21,8 +21,6 @@
# TODO SERVER-99433: Delete featureFlagReplicaSetEndpoint. # TODO SERVER-99433: Delete featureFlagReplicaSetEndpoint.
- featureFlagReplicaSetEndpoint - featureFlagReplicaSetEndpoint
- featureFlagGaplessFTDC - featureFlagGaplessFTDC
# TODO SERVER-101589: start testing viewless timeseries in allFeatureFlag variant
- featureFlagCreateViewlessTimeseriesCollections
# TODO SERVER-67034: re-enable 'featureFlagSbeFull'. # TODO SERVER-67034: re-enable 'featureFlagSbeFull'.
- featureFlagSbeFull - featureFlagSbeFull
- featureFlagSessionsCollectionCoordinatorOnConfigServer - featureFlagSessionsCollectionCoordinatorOnConfigServer

View File

@ -50,6 +50,7 @@ selector:
- jstests/noPassthrough/index_builds/create_indexes_return_on_start.js - jstests/noPassthrough/index_builds/create_indexes_return_on_start.js
- jstests/noPassthrough/logging/log_collectionType.js - jstests/noPassthrough/logging/log_collectionType.js
- jstests/noPassthrough/move_collection_not_tracked.js - jstests/noPassthrough/move_collection_not_tracked.js
- jstests/noPassthrough/query/out_merge/out_primary_stepdown_during_insert.js
- jstests/noPassthrough/query/queryStats/query_stats_collectionType.js - jstests/noPassthrough/query/queryStats/query_stats_collectionType.js
- jstests/noPassthrough/query/server_status/serverstatus_index_stats.js - jstests/noPassthrough/query/server_status/serverstatus_index_stats.js
- jstests/noPassthrough/**/timeseries/**/*.js - jstests/noPassthrough/**/timeseries/**/*.js

View File

@ -80,6 +80,7 @@
- jstests/noPassthrough/index_builds/create_indexes_return_on_start.js - jstests/noPassthrough/index_builds/create_indexes_return_on_start.js
- jstests/noPassthrough/logging/log_collectionType.js - jstests/noPassthrough/logging/log_collectionType.js
- jstests/noPassthrough/move_collection_not_tracked.js - jstests/noPassthrough/move_collection_not_tracked.js
- jstests/noPassthrough/query/out_merge/out_primary_stepdown_during_insert.js
- jstests/noPassthrough/query/queryStats/query_stats_collectionType.js - jstests/noPassthrough/query/queryStats/query_stats_collectionType.js
- jstests/noPassthrough/query/server_status/serverstatus_index_stats.js - jstests/noPassthrough/query/server_status/serverstatus_index_stats.js
- jstests/noPassthrough/**/timeseries/**/*.js - jstests/noPassthrough/**/timeseries/**/*.js

View File

@ -2324,6 +2324,10 @@ tasks:
] ]
commands: commands:
- func: "generate resmoke tasks" - func: "generate resmoke tasks"
vars:
# TODO(SERVER-109882): Enable viewless timeseries in upgrade/downgrade suites
resmoke_args: >-
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
- <<: *gen_task_template - <<: *gen_task_template
name: fcv_upgrade_downgrade_primary_step_down_passthrough_gen name: fcv_upgrade_downgrade_primary_step_down_passthrough_gen
@ -2337,6 +2341,10 @@ tasks:
] ]
commands: commands:
- func: "generate resmoke tasks" - func: "generate resmoke tasks"
vars:
# TODO(SERVER-109882): Enable viewless timeseries in upgrade/downgrade suites
resmoke_args: >-
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
# TODO(SERVER-108818): Remove this temporary suite. # TODO(SERVER-108818): Remove this temporary suite.
- <<: *gen_task_template - <<: *gen_task_template
@ -2461,6 +2469,9 @@ tasks:
- func: "generate resmoke tasks" - func: "generate resmoke tasks"
vars: vars:
use_large_distro: "true" use_large_distro: "true"
# TODO SERVER-112130 remove timeout override
exec_timeout_secs: 4800 # 80min
timeout_secs: 4800 # 80min
# Requires legacy timeseries (system.buckets) even in all feature flags variants # Requires legacy timeseries (system.buckets) even in all feature flags variants
resmoke_args: >- resmoke_args: >-
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections --disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
@ -2494,6 +2505,9 @@ tasks:
- func: "generate resmoke tasks" - func: "generate resmoke tasks"
vars: vars:
use_large_distro: "true" use_large_distro: "true"
# TODO(SERVER-109882): Enable viewless timeseries in upgrade/downgrade suites
resmoke_args: >-
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
- <<: *gen_task_template - <<: *gen_task_template
name: fcv_upgrade_downgrade_sharding_jscore_passthrough_gen name: fcv_upgrade_downgrade_sharding_jscore_passthrough_gen
@ -2507,6 +2521,10 @@ tasks:
] ]
commands: commands:
- func: "generate resmoke tasks" - func: "generate resmoke tasks"
vars:
# TODO(SERVER-109882): Enable viewless timeseries in upgrade/downgrade suites
resmoke_args: >-
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
## jstestfuzz concurrent sharded cluster causal consistency ## ## jstestfuzz concurrent sharded cluster causal consistency ##
- <<: *jstestfuzz_template - <<: *jstestfuzz_template

View File

@ -2362,6 +2362,9 @@ tasks:
- func: "generate resmoke tasks" - func: "generate resmoke tasks"
vars: vars:
suite: timeseries_crud_jscore_passthrough suite: timeseries_crud_jscore_passthrough
# TODO SERVER-112057: Enable viewless timeseries feature flag in this suite
resmoke_args: >-
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
- <<: *gen_task_template - <<: *gen_task_template
name: v1index_jscore_passthrough_gen name: v1index_jscore_passthrough_gen

View File

@ -399,7 +399,11 @@ tasks:
jstestfuzz_vars: --diffTestingMode timeseries --numPipelines=750 jstestfuzz_vars: --diffTestingMode timeseries --numPipelines=750
npm_command: agg-fuzzer npm_command: agg-fuzzer
suite: generational_fuzzer suite: generational_fuzzer
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" # TODO SERVER-112055: Enable CreateViewlessTimeseriesCollections feature flag once all aggregation stages
# work properly on viewless timeseries collections.
resmoke_args: >-
--mongodSetParameters='{logComponentVerbosity: {command: 2}}'
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
## Like "aggregation_timeseries_fuzzer_gen", but it uses a pinned git revision for the ## Like "aggregation_timeseries_fuzzer_gen", but it uses a pinned git revision for the
## "jstestfuzz" repo and it uses a fixed seed. ## "jstestfuzz" repo and it uses a fixed seed.
@ -434,8 +438,16 @@ tasks:
npm_command: agg-fuzzer npm_command: agg-fuzzer
suite: generational_fuzzer suite: generational_fuzzer
use_large_distro: "true" use_large_distro: "true"
resmoke_args: "--mongodSetParameters='{logComponentVerbosity: {command: 2}}'" # TODO SERVER-112055: Enable CreateViewlessTimeseriesCollections feature flag once all aggregation stages
jstestfuzz_vars: --diffTestingMode timeseries --numPipelines=1000 --metaSeed 1726779665485 --jstestfuzzGitRev 71acfa2 # work properly on viewless timeseries collections.
resmoke_args: >-
--mongodSetParameters='{logComponentVerbosity: {command: 2}}'
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
jstestfuzz_vars: >-
--diffTestingMode timeseries
--numPipelines=1000
--metaSeed 1726779665485
--jstestfuzzGitRev 71acfa2
## Standalone fuzzer for checking block_processing correctness ## ## Standalone fuzzer for checking block_processing correctness ##
- <<: *jstestfuzz_template - <<: *jstestfuzz_template

View File

@ -595,10 +595,12 @@ buildvariants:
max_sub_suites: 3 max_sub_suites: 3
idle_timeout_factor: 1.5 idle_timeout_factor: 1.5
exec_timeout_factor: 1.5 exec_timeout_factor: 1.5
# TODO SERVER-112195 enable viewless timeseries in this suite.
test_flags: >- test_flags: >-
--runAllFeatureFlagTests --runAllFeatureFlagTests
--mongodSetParameters="{internalQueryUnifiedWriteExecutor: true}" --mongodSetParameters="{internalQueryUnifiedWriteExecutor: true}"
--mongosSetParameters="{internalQueryUnifiedWriteExecutor: true}" --mongosSetParameters="{internalQueryUnifiedWriteExecutor: true}"
--disableFeatureFlags=featureFlagCreateViewlessTimeseriesCollections
# For now just unified write executor suites but tasks will be added as development continues. # For now just unified write executor suites but tasks will be added as development continues.
tasks: tasks:
- name: unified_write_executor - name: unified_write_executor

View File

@ -3,6 +3,8 @@
* *
* @tags: [ * @tags: [
* requires_sharding, * requires_sharding,
* # TODO SERVER-111756 re-enable this test in viewless timeseries suites
* featureFlagCreateViewlessTimeseriesCollections_incompatible,
* ] * ]
*/ */

View File

@ -6,7 +6,9 @@
* # TODO (SERVER-89668): Remove tag. Currently incompatible due to change * # TODO (SERVER-89668): Remove tag. Currently incompatible due to change
* # events containing the recordIdsReplicated:true option, which * # events containing the recordIdsReplicated:true option, which
* # this test dislikes. * # this test dislikes.
* exclude_when_record_ids_replicated * exclude_when_record_ids_replicated,
* # TODO SERVER-111733 re-enable this test in viewless timeseries suites
* featureFlagCreateViewlessTimeseriesCollections_incompatible,
* ] * ]
*/ */
import {assertDropCollection} from "jstests/libs/collection_drop_recreate.js"; import {assertDropCollection} from "jstests/libs/collection_drop_recreate.js";

View File

@ -4,7 +4,8 @@
* @tags: [ * @tags: [
* change_stream_does_not_expect_txns, * change_stream_does_not_expect_txns,
* assumes_unsharded_collection, * assumes_unsharded_collection,
* requires_fcv_61, * # TODO SERVER-111733 re-enable this test in viewless timeseries suites
* featureFlagCreateViewlessTimeseriesCollections_incompatible,
* ] * ]
*/ */
import {TimeseriesTest} from "jstests/core/timeseries/libs/timeseries.js"; import {TimeseriesTest} from "jstests/core/timeseries/libs/timeseries.js";

View File

@ -6,6 +6,7 @@
* @tags: [ * @tags: [
* does_not_support_stepdowns, * does_not_support_stepdowns,
* incompatible_with_preimages_by_default, * incompatible_with_preimages_by_default,
* requires_timeseries,
* ] * ]
*/ */
import { import {

View File

@ -139,7 +139,11 @@ for (const uuid of [nonexistentUUID, bucketsCollUUID]) {
testCreateIndex(uuid, "m"); testCreateIndex(uuid, "m");
testCreateIndex(uuid, "a"); testCreateIndex(uuid, "a");
if (FeatureFlagUtil.isPresentAndEnabled(testDB, "TimeseriesUpdatesSupport")) { if (
FeatureFlagUtil.isPresentAndEnabled(testDB, "TimeseriesUpdatesSupport") &&
// TODO SERVER-112063 re-enable this in viewless timeseries suites with retriable writes
(!areViewlessTimeseriesEnabled(db) || !db.getSession().getOptions().shouldRetryWrites())
) {
testUpdate(uuid, "m"); testUpdate(uuid, "m");
testUpdate(uuid, "a"); testUpdate(uuid, "a");
} }

View File

@ -3,6 +3,11 @@
* steps down between batches of inserts into the temp collection. The temp collection exists on the * steps down between batches of inserts into the temp collection. The temp collection exists on the
* primary and is deleted during step down which can result in incomplete $out results being * primary and is deleted during step down which can result in incomplete $out results being
* returned to the user. This test asserts that an error is thrown. * returned to the user. This test asserts that an error is thrown.
*
* @tags: [
* # TODO SERVER-112061 re-enable this test in viewless timeseries suites
* featureFlagCreateViewlessTimeseriesCollections_incompatible,
* ]
*/ */
import {configureFailPoint} from "jstests/libs/fail_point_util.js"; import {configureFailPoint} from "jstests/libs/fail_point_util.js";

View File

@ -1,3 +1,9 @@
/*
* @tags: [
* # TODO SERVER-112059 re-enable this test in viewless timeseries suites
* featureFlagCreateViewlessTimeseriesCollections_incompatible,
* ]
*/
import {runReadOnlyTest} from "jstests/readonly/lib/read_only_test.js"; import {runReadOnlyTest} from "jstests/readonly/lib/read_only_test.js";
runReadOnlyTest( runReadOnlyTest(

View File

@ -6,6 +6,8 @@
* multiversion_incompatible, * multiversion_incompatible,
* uses_transactions, * uses_transactions,
* does_not_support_stepdowns, * does_not_support_stepdowns,
* # TODO SERVER-110187 re-enable this test in viewless timeseries suites
* featureFlagCreateViewlessTimeseriesCollections_incompatible,
* ] * ]
*/ */

View File

@ -3,6 +3,11 @@
* the target range on the recipient shard. This prevents mixing legitimate * the target range on the recipient shard. This prevents mixing legitimate
* documents (incoming via migration) with invalid ones (incorrectly present * documents (incoming via migration) with invalid ones (incorrectly present
* due to historical reasons like direct connections or range deleter bugs). * due to historical reasons like direct connections or range deleter bugs).
* @tags: [
* # TODO SERVER-112060 re-enable this test in viewless timeseries suites
* featureFlagCreateViewlessTimeseriesCollections_incompatible,
* ]
*/ */
import {ShardingTest} from "jstests/libs/shardingtest.js"; import {ShardingTest} from "jstests/libs/shardingtest.js";