summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Abdulkhalikov <ruslan.abdulkhalikov@mongodb.com>2021-10-04 11:59:10 -0700
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-10-05 18:54:16 +0000
commitaf4fb25da73a43788ceac5e3f74091859dc90161 (patch)
tree4e2bd39c153f5f045d3bd3497fe72d70b0ca6d47
parent4ac7ec0b33c30d7e14edaf47333d7824cdd67921 (diff)
downloadmongo-af4fb25da73a43788ceac5e3f74091859dc90161.tar.gz
SERVER-52310 Enable featureFlagSearchMeta by default
-rw-r--r--src/mongo/db/pipeline/variables.cpp4
-rw-r--r--src/mongo/db/query/query_feature_flags.idl3
-rw-r--r--src/mongo/db/query/sbe_stage_builder.cpp3
-rw-r--r--src/mongo/db/query/sbe_stage_builder_expression.cpp6
4 files changed, 3 insertions, 13 deletions
diff --git a/src/mongo/db/pipeline/variables.cpp b/src/mongo/db/pipeline/variables.cpp
index e0703e0ccc5..0adcf0505ff 100644
--- a/src/mongo/db/pipeline/variables.cpp
+++ b/src/mongo/db/pipeline/variables.cpp
@@ -164,10 +164,6 @@ Value Variables::getValue(Id id, const Document& root) const {
str::stream() << "Builtin variable '$$" << getBuiltinVariableName(id)
<< "' is not available");
case Variables::kSearchMetaId: {
- uassert(5858105,
- str::stream() << "Must enable 'featureFlagSearchMeta' to access '$$"
- << getBuiltinVariableName(id),
- ::mongo::feature_flags::gFeatureFlagSearchMeta.isEnabledAndIgnoreFCV());
auto metaIt = _definitions.find(id);
return metaIt == _definitions.end() ? Value() : metaIt->second.value;
}
diff --git a/src/mongo/db/query/query_feature_flags.idl b/src/mongo/db/query/query_feature_flags.idl
index f74d17705ca..8db431a93d8 100644
--- a/src/mongo/db/query/query_feature_flags.idl
+++ b/src/mongo/db/query/query_feature_flags.idl
@@ -78,7 +78,8 @@ feature_flags:
featureFlagSearchMeta:
description: "Feature flag for allowing use of search collectors alongside search results"
cpp_varname: gFeatureFlagSearchMeta
- default: false
+ default: true
+ version: 5.1
featureFlagSbePlanCache:
description: "Feature flag for enabling use of the SBE plan cache"
diff --git a/src/mongo/db/query/sbe_stage_builder.cpp b/src/mongo/db/query/sbe_stage_builder.cpp
index 613ed92512f..c6b55ad15f0 100644
--- a/src/mongo/db/query/sbe_stage_builder.cpp
+++ b/src/mongo/db/query/sbe_stage_builder.cpp
@@ -371,8 +371,7 @@ std::unique_ptr<sbe::RuntimeEnvironment> makeRuntimeEnvironment(
cq.getExpCtx()->variables.hasValue(id))) {
auto [tag, val] = makeValue(cq.getExpCtx()->variables.getValue(id));
env->registerSlot(name, tag, val, true, slotIdGenerator);
- } else if (id == Variables::kSearchMetaId &&
- ::mongo::feature_flags::gFeatureFlagSearchMeta.isEnabledAndIgnoreFCV()) {
+ } else if (id == Variables::kSearchMetaId) {
// SEARCH_META never has a value at this point but can be set later and therefore must
// have a slot. The find layer is not responsible for setting this value.
auto [tag, val] = makeValue(cq.getExpCtx()->variables.getValue(id));
diff --git a/src/mongo/db/query/sbe_stage_builder_expression.cpp b/src/mongo/db/query/sbe_stage_builder_expression.cpp
index c3e36370788..becf0dd2e0c 100644
--- a/src/mongo/db/query/sbe_stage_builder_expression.cpp
+++ b/src/mongo/db/query/sbe_stage_builder_expression.cpp
@@ -1795,12 +1795,6 @@ public:
it != Variables::kIdToBuiltinVarName.end());
auto variableSlot = _context->state.env->getSlotIfExists(it->second);
- if (expr->getVariableId() == Variables::kSearchMetaId) {
- uassert(5916201,
- str::stream() << "Must enable 'featureFlagSearchMeta' to access '$$"
- << "SEARCH_META",
- ::mongo::feature_flags::gFeatureFlagSearchMeta.isEnabledAndIgnoreFCV());
- }
uassert(5611301,
str::stream()
<< "Builtin variable '$$" << it->second << "' is not available",