summaryrefslogtreecommitdiff
path: root/src/mongo/s/sharding_feature_flags.idl
blob: 218702b049627e09ee927f1277e9b6050dd2c126 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Copyright(C) 2022 - present MongoDB, Inc.
#
# This program is free software : you can redistribute it and / or modify
# it under the terms of the Server Side Public License, version 1,
# as published by MongoDB, Inc.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
# Server Side Public License for more details.
#
# You should have received a copy of the Server Side Public License
# along with this program.If not, see
# < http://www.mongodb.com/licensing/server-side-public-license>.
#
# As a special exception, the copyright holders give permission to link the
# code of portions of this program with the OpenSSL library under certain
# conditions as described in each individual source file and distribute
# linked combinations including the program with the OpenSSL library.You
# must comply with the Server Side Public License in all respects for
# all of the code used other than as permitted herein.If you modify file(s)
# with this exception, you may extend this exception to your version of the
# file(s), but you are not obligated to do so.If you do not wish to do so,
# delete this exception statement from your version.If you delete this
# exception statement from all source files in the program, then also delete
# it in the license file.
#

# File containing feature flags for sharding features

global:
    cpp_namespace: "mongo"

feature_flags:
  featureFlagNoMoreAutoSplitter:
    description: "Guarding code for the no more auto-splitter project"
    cpp_varname: feature_flags::gNoMoreAutoSplitter
    default: true
    version: 6.1
  featureFlagBalanceAccordingToDataSize:
    description: Balancer taking decisions based on the data size if enabled, based on number of chunks if disabled
    cpp_varname: feature_flags::gBalanceAccordingToDataSize
    default: true
    version: 6.1
  featureFlagOrphanTracking:
    description: "Feature flag for enabling orphan tracking during migrations and range deletions"
    cpp_varname: feature_flags::gOrphanTracking
    default: true
    version: 6.0
  featureFlagGlobalIndexesShardingCatalog:
    description: "Feature flag for enabling sharding catalog features for global indexes"
    cpp_varname: feature_flags::gGlobalIndexesShardingCatalog
    default: false
  featureFlagRangeDeleterService:
    description: "Feature flag protecting instantiation and usages of the range deleter service"
    cpp_varname: feature_flags::gRangeDeleterService
    default: true
    version: 6.2
  featureFlagCollModCoordinatorV3:
    description: "Feature for enabling new coll mod coordinator v3"
    cpp_varname: feature_flags::gCollModCoordinatorV3
    default: true
    version: 6.1
  featureFlagCreateCollectionCoordinatorV3:
    description: "Feature for enabling new createCollection coordinator v3"
    cpp_varname: feature_flags::gCreateCollectionCoordinatorV3
    default: true
    version: 6.2
  featureFlagHistoricalPlacementShardingCatalog:
    description: "Feature flag for enabling the storage and access to historical placement data at shards granularity through the Sharding Catalog"
    cpp_varname: feature_flags::gHistoricalPlacementShardingCatalog
    default: false
  featureFlagImplicitDDLTimeseriesNssTranslation:
    description: "When enabled, the logic to evaluate whether a DDL is targeting a Timeseries operation
                  will always be executed by the DDL Coordinator (VS doing the evaluation when the command is received by the primary shard).
                  The feature increases causal consistency guarantees, but  it is not backwards-compatible"
    cpp_varname: feature_flags::gImplicitDDLTimeseriesNssTranslation
    default: true
    version: 6.1
  featureFlagCatalogShard:
    description: "Must be enabled for any mongod process started with the --catalogsvr option.  The
                  --catalogsvr flag indicates to the node that it is part of a replica set that hosts both
                  config data and user data.  It is a shard server, and the config server."
    cpp_varname: feature_flags::gCatalogShard
    default: false